私が作成した私のメタボックスの私のテキストエリアにちょっとした追加をするために http://www.tinymce.com/ /プラグインを使おうとしています。私は他の方法でグーグルしました、そして私はそれを機能させることができないか、概念をつかまえませんでした。 SOこれがImが今試していることです -
私の管理ダッシュボードにスクリプトを追加するためのプラグインを作成してみました -
add_action('admin_init', 'admin_load_scripts');
function admin_load_scripts() {
$js_file = plugins_url( '/tinymce/jquery.tinymce.min.js', __FILE__ );
wp_enqueue_script('jquery.tinymce.min', $js_file, array('jquery'));
}
それなら私はそのようにそれを呼ぶ必要があります -
<script>
tinymce.init({selector:'textarea'});
</script>
しかし、これがバックエンドのためでありフロントエンドのためではないということであるので、これを行う方法がわからない。どうすればこれを達成できますか?
_更新済み_
これは私のメタボックス用のコードです。 http://Pastebin.com/WcC51uA9
私は(もちろんfunctions.phpにそれを置く)次の方法を試してみました、そしてほとんどの部分のために彼らは単に働かなかったか、あるいはページのトップかページの底に現れるでしょう。彼らはtextareaにまったく現れなかった。 ---
ここに ペーストビン があります。
TinyMCEの古い価値を手に入れよう
$meta_biography = get_post_meta( $post->ID, 'meta_biography', true );
TinyMCEエディタを呼び出す
wp_editor( $meta_biography, 'biography', array(
'wpautop' => true,
'media_buttons' => false,
'textarea_name' => 'meta_biography',
'textarea_rows' => 10,
'teeny' => true
) );
エディタの値を保存するか、何もない場合は古い値を削除します。
if( isset( $_POST['meta_biography'] ) && $_POST['meta_biography'] != '' ) {
update_post_meta( $post_id, 'meta_biography', $_POST['meta_biography'] );
} else {
delete_post_meta( $post_id, 'meta_biography' );
}
あなたがエディタにもっとオプションを追加したいなら - あなたは コーデックス を見ることができます/またはこのNice WPTuts Article をチェックしてください。あなたはtinymce
を使い、それに設定の配列を渡したいのです。 Codexは最小限のエディタ設定しか使わないと言っているので、wp_editor()
のteeny => true
を削除しなければならないかもしれません。
// for pages use 'edit_page_form' as the first parameter. And see my comment below.
add_action( 'edit_form_advanced', 'my_meta_editor' );
function my_meta_editor() {
// set 'your_meta_key' to the actual key
$content = get_post_meta($post->ID, 'your_meta_key', true);
// only low case [a-z], no hyphens and underscores
$editor = 'mymetaeditor';
// See my comment below
$editor_settings = array();
wp_editor( $content, $editor, $editor_settings);
}
メタボックスの場所を変更する場合は、 管理操作edit_form_after_title
、edit_form_after_editor
、edit_form_advanced
を検索します。
エディタの設定については wp_editor も参照してください。
この関数は私のために完璧に働いたあなたのfunctions.phpファイルに追加してあなたのカスタムフィールドをtextareaにするだけで完了です:
//add tinymce editor to custom fields
function admin_add_wysiwyg_custom_field_textarea()
{ ?>
<script type="text/javascript">/* <![CDATA[ */
jQuery(function($){
var i=1;
$('textarea').each(function(e)
{
var id = $(this).attr('id');
if (!id)
{
id = 'customEditor-' + i++;
$(this).attr('id',id);
}
tinyMCE.execCommand("mceAddEditor", false, id);
tinyMCE.execCommand('mceAddControl', false, id);
});
});
/* ]]> */</script>
<?php }
add_action( 'admin_print_footer_scripts', 'admin_add_wysiwyg_custom_field_textarea', 99 );
ここから撮った 。