2016-04-22 45 views
0

我想添加一個metabox在唯一的ID頁面(頭版)。有人可以解釋爲什麼在我的functions.php文件中使用此代碼:add_meta_box在獨特的管理頁面

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'); 

第一個示例的問題是什麼?

回答

0
  1. 當WordPress觸發admin_menu掛鉤時,沒有帖子可用。
  2. add_meta_box_page鉤子被觸發時,您的add_metafields回調被調用。目前,$post始終可用。