add_meta_box在唯一的管理页面中

时间:2016-04-22 11:42:16

标签: wordpress

我想在唯一ID页面(首页)中添加元数据箱。有人可以解释,为什么在我的functions.php文件中使用这段代码:

function add_metafields()
{
        echo '<label for="add_video">add video : </label>';
        echo '<input type="url" value="http://" name="add_video">';
} 

function initialize_metabox()
{   
    global $post;
    if ('7' == $post->ID )
    {
        add_meta_box('video_metabox', 'add new video', 'add_metafields', 'page', 'side', 'high');
    }

}

add_action('admin_menu', 'initialize_metabox');

全局变量为空。但是,这段代码完美无缺:

    function add_metafields()
{
        global $post;
        if ('7' == $post->ID )
        {
            echo '<label for="add_video">Ajouter une video : </label>';
            echo '<input type="url" value="http://" name="add_video">';
        }
} 

function initialize_metabox()
{   
    add_meta_box('video_metabox', 'Ajouter un lien vidéo', 'add_metafields', 'page', 'side', 'high');
}

add_action('admin_menu', 'initialize_metabox');

第一个例子有什么问题?

1 个答案:

答案 0 :(得分:0)

  1. 当WordPress触发admin_menu挂钩时,没有帖子可用。
  2. 触发add_metafields挂钩时,会调用add_meta_box_page回调。目前,$post始终可用。