それで、私はwp_editorを使っていくつかのメタボックスを作成しました、すべてはまさに以下の通りです:
add_action( 'add_meta_boxes', 'business_facts_metabox' );
function business_facts_metabox()
{
add_meta_box('business_facts', 'Business Facts', 'business_facts_output', 'page', 'normal', 'high');
}
function business_facts_output( $post )
{
//so, dont ned to use esc_attr in front of get_post_meta
$business_facts_value= get_post_meta($_GET['post'], 'business_facts' , true ) ;
wp_editor( htmlspecialchars_decode($business_facts_value), 'business-facts', $settings = array('textarea_name'=>'business-facts') );
}
function save_business_facts( $post_id )
{
if (!empty($_POST['business-facts']))
{
$data=htmlspecialchars($_POST['business-facts']);
update_post_meta($post_id, 'business_facts', $data );
}
}
add_action( 'save_post', 'save_business_facts' );
残念ながら、保存したものを出力するとすべてが出力されるため、太字は表示されず、代わりにの代わりに太字のWordを出力すると<strong> Word </strong>が出力されます。 WordスタイリングとHTMLが正しく機能して正しく出力するために必要です。
これはカスタムメタボックスを使用して可能ですか?もしそうなら、私は私のコードで何を編集する必要がありますか?
だから私はこの質問を投稿した直後にこれを考え出しました(duh)
function business_facts_output( $post )
{
//so, dont ned to use esc_attr in front of get_post_meta
$business_facts_value= get_post_meta($_GET['post'], 'business_facts' , true ) ;
wp_editor( htmlspecialchars_decode($business_facts_value), 'business-facts', $settings = array('textarea_name'=>'business-facts') );
}
これは基本的にここで、htmlspecialchars_decode($business_facts_value)
を変更する必要があると言っています。ここではhtmlspecialchars_decode()関数は必要ありませんが、代わりに$ business_facts_valueが必要です。