为什么`add_meta_box`不起作用?

时间:2012-04-03 作者:Matthew

我正在尝试将一些元字段添加到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);
Theabc_load_post 函数调用得很好,但在产品编辑页面上实际上没有显示任何内容(即。/wp-admin/post.php)

有人能解释一下我做错了什么吗?

2 个回复
最合适的回答,由SO网友:shabushabu 整理而成

我发现你的代码有两个问题。您似乎希望该元框出现在产品页面上,但实际上您将其添加到了帖子类型,而不是产品帖子类型。另一个问题是附加函数的挂钩。尝试以下操作:

add_action( \'add_meta_boxes_{post_type}\', \'abc_load_post\' );
将{post\\u type}替换为您实际想要针对的任何帖子类型,例如产品、帖子或页面。add\\u meta\\u box()的第四个参数是post类型,顺便说一句,您已将其设置为“post”。

SO网友:fuxia

使用操作\'add_meta_boxes\' 添加元框。查看我的demo plugin Basic Meta Box 例如。

结束

相关推荐

将Metabox附加到单个帖子

我已经使用代谢箱一段时间了,很享受它们的灵活性。然而,我现在的情况是,我只需要在a specific single post or page, 和not 对于整个(自定义)-post类型。有可能这样做吗?非常欢迎您的帮助。蒂亚马坦尼亚