次のコードを使用して、 _ wpsc _ 製品にメタフィールドを追加しようとしています。
/**
* data callback
*/
function abc_callback($object, $box)
{
echo 'callback executed!';
}
/**
* add custom fields
*/
function abc_load_post($post_id)
{
add_meta_box('abc_post_id', 'abc', 'abc_callback', 'post', 'normal', 'default', array());
}
add_action('load-post.php', 'abc_load_post', 10, 2);
add_action('load-post-new.php', 'abc_load_post', 10, 2);
abc_load_post
関数は正常に呼び出されますが、商品編集ページには実際には何も表示されません(つまり/wp-admin/post.php
)。
誰かが私が間違っていることを説明できますか?
私はあなたのコードに2つの問題を見ることができます。そのメタボックスを商品ページに表示したいようですが、実際には商品の投稿タイプではなく投稿タイプに追加します。もう一つの問題はあなたがあなたの機能をつけるフックです。これを試して:
add_action( 'add_meta_boxes_{post_type}', 'abc_load_post' );
{post_type}は、実際にターゲットにしたい投稿タイプに置き換えてください。商品、投稿、またはページ。 add_meta_box()の4番目の引数は投稿タイプbtwで、これを 'post'に設定します。
メタボックスを追加するには、アクション'add_meta_boxes'
を使用します。例として私の デモプラグインBasic Meta Box を見てください。