2015-11-03 55 views
0

我在包含自定義字段的wp-admin中創建自定義元框。當選擇類別時隱藏Wordpress Meta Box

function createCustomFieldsTwo() { 
     if (function_exists('add_meta_box')) { 
      add_meta_box('my-custom-fields-OpInfo', 'Operator Information', array(&$this, 'displayCustomFieldsOpInfo'), 'page', 'normal', 'high'); 
      add_meta_box('my-custom-fields-OpInfo', 'Operator Information', array(&$this, 'displayCustomFieldsOpInfo'), 'post', 'normal', 'high'); 

     } 
    } 

我想隱藏某些元框當用戶選擇某些類別時,我相信這是可能的JQuery,但我不知道如何繼續。

有沒有人有經驗隱藏/顯示元框根據職位類別?

回答

0

你可以利用全球post對象,並運行一個查詢...

function createCustomFieldsTwo() { 
    if (function_exists('add_meta_box')) { 
    global $post; 
    $category = wp_get_post_terms($post->ID, 'category', array("fields" => "names")); 
    // If not the category you want to hide the meta box on 
    if(isset($category[0]->name) && $category[0]->name != 'Desired category') { 
     add_meta_box('my-custom-fields-OpInfo', 'Operator Information', array(&$this, 'displayCustomFieldsOpInfo'), 'page', 'normal', 'high'); 
    } 
    } 
} 

或相似類型的帖子對象上查詢,找出它是什麼類別 - 哦,你可能想在那裏添加一些isset(),以避免錯誤:)

+0

這將添加/隱藏元框住作爲用戶選擇不同的類別或僅在頁面加載? – James

+0

在頁面加載 - 使用JS做它,然後它很簡單 - 只需看看.Change https://api.jquery.com/change/您傳遞給add_meta_box的第一個參數是管理員中的框的ID,因此您可以看看類別的值是什麼。根據需要更改和顯示/隱藏元框div的id –