添加_META_BOX未显示,但确实显示在屏幕选项中

时间:2014-01-30 作者:danbrown

我正在向WordPress管理页面添加一个元框。

它在我的本地服务器上运行良好,但当我将其上载到live server时,meta框不会出现。

但是,它确实出现在屏幕选项中,因此我知道代码在某种程度上起作用,但它只是没有在编辑页面上显示任何内容。

我已经卸载了所有插件,但这并不能同样解决问题。

下面是我的代码:

function ila_add_custom_box() {
    add_meta_box(
        \'content-on-page\',
        \'Content On Page\',
        \'ila_render_meta_box\',
        \'page\',
        \'high\'
    );
}

add_action( \'add_meta_boxes\', \'ila_add_custom_box\' );

function ila_render_meta_box() {
    echo "<h1>Edit Page Options</h1>";
}
我如何解决它?

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

你错过了$args 对于add_meta_box.

正确的用法是(Codex):

add_meta_box( $id, $title, $callback, $post_type, $context, $priority, $callback_args );
您忘记设置context, 加上它,你就会没事了。

add_meta_box(
    \'content-on-page\',
    \'Content On Page\',
    \'ila_render_meta_box\',
    \'page\',
    \'normal\', // add this line
    \'high\'
);

SO网友:Abhijith-cloud

The correct code

$screens = array( \'post\', \'page\' )
    add_meta_box(
        \'your_fields_meta_box\', // $id
        \'Your Fields\', // $title
        \'show_your_fields_meta_box\', // $callback
        $screens , // $screen
        \'normal\', // $context
        \'high\' // $priority
    );
结束

相关推荐

shortcode in a custom metabox

我正在尝试将插件中的短代码添加到我的自定义元数据库中。我已经读过,这不是我要做的事情,但在这种情况下,我确实需要它来工作。客户端可能不会添加视频,但可能会向其中添加图像,或者需要一些东西来确保它仍然可以用于标准内容。我遇到的问题是,它只输出这样的短代码-[youtube id=“vfGZZJnoJ0U”]我曾尝试向我的metabox中添加过滤器,但仍然显示了这一点。这是我的自定义metabox设置:add_action(\'add_meta_boxes\', \'testimonials_meta_box