[WordPress] 後台整理術:客製化內容類型預設顯示於選單項目的設定

自行新增的 Post Type 與內建的 Post 或 Page 等內容類型都有點不太一樣。其中會需要本篇處理的部分就是在外觀中設定選單的時候對所有使用者來說並非預設。

網路上大部分的資料都是直接跟你說可以到選單畫面右上角有個「顯示項目設定」的功能,自己去勾選起來就可以了。

但,通常終端使用者沒有這麼的「上手」,所以整理好來讓他直覺使用較不生事,此時就會將這功能採用程式化設定。程式碼片段如下:

//預設開啟 Custom Post Type 在佈景主題中選單的設定
function mxp_set_cpt_always_visible($result, $option, $user) {
    $result = array_diff($result, array(
        'add-post-type-calendar',
        'add-post-type-product',
        'add-post-type-teacher',
        'add-post-type-latest_news',
        'add-post-type-archive',
        'add-post-type-work_plan',
        'add-post-type-video_resourse',
        'add-post-type-download',
        'add-post-type-faq_post',
    );
    return $result;
}
add_filter('get_user_option_metaboxhidden_nav-menus', 'mxp_set_cpt_always_visible', 11, 3);

可以注意到 add-post-type-{新的型態Slug} 這種格式,替代自己新增內容類型的 Slug 就可以囉!

這項是綁在使用者喜好設定上的,也就是存在 wp_usermeta 使用者中繼資料表中 metaboxhidden_nav-menus 的部分。

其他之前寫過的整理術參考如下:

Ref: Set default screen option for appearance -> menus

Facebook 外掛功能


Share:

作者: Chun

資訊愛好人士。主張「人人都該為了偷懶而進步」。期許自己成為斜槓到變進度條 100% 的年輕人。[//////////____30%_________]

參與討論

1 則留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *