問題一
需求:隱藏 Toolset Post Type 中的 Template Layout Metabox。
環境設定:新增一個 Post Type 為 Product,新增每一筆資料都可成功套用預設的 Template Layout,請見附圖「01」。
操作方式:加入以下文字內容到檔案 functions.php 中。
add_action( 'admin_head', 'wpv_custom_admin_head', 20);
function wpv_custom_admin_head() {
remove_meta_box( 'wpddl_template', 'product', 'side' );
remove_meta_box( 'views_template', 'product', 'side' );
}
結果:Template Layout Metabox 被隱藏,但當修改任一 Product 內容並儲存時,Layouts 無法套用預設的版型,請見附圖「02」。
刪除檔案 functions.php 中的該段文字內容後,Template Layout 出現,但卻顯示未套用任何 Layout,請見附圖「03」,可透過手動方式指定回 Product Layout,卻不能直接自動套用。
參考來源:https://toolset.com/forums/topic/hide-the-template-layout-metabox/
進階詢問:「wpddl_template」與「views_template」的差異。
問題二
需求:隱藏 Toolset Post Type 中,編輯區塊【Fields and Views】、【Content Layout Editor】的兩個按鈕
環境設定:新增一個 Post Type 為 Product。
操作方式:
加入以下文字內容到檔案 functions.php 中
add_action( 'admin_init', 'my_admin_init' );
function my_admin_init() {
if(!current_user_can('manage_links')) {
wp_enqueue_style( 'myStylesheet', get_stylesheet_directory_uri() . '/wpadmin.css' );
}
}
加入以下文字內容到檔案 wpadmin.css 中,並將檔案放置在 theme-child 的資料夾中。
div.wp-media-buttons a.js-layout-private-add-new-top {
display:none !important;
}
.post-php .wp-core-ui .js-wpv-fields-and-views-in-toolbar {
display: none;
}
結果:兩個按鈕皆被隱藏,請問做法是否正確?
請見附圖「04」、「05」
參考來源:https://toolset.com/forums/topic/hide-template-layout-selection-for-non-admin/
你好,
Toolset默認是不具備你説的兩個功能的。
1) 如果你是用上面的PHP代碼移除Template Layout Metabox,就會造成你説的結果:
Template Layout Metabox 被隱藏,但當修改任一 Product 內容並儲存時,Layouts 無法套用預設的版型
但是你可以使用CSS隱藏該metabox,參考下面的CSS代碼。
2) 你需要根據新版的Views外挂修改CSS代碼,例如:
.wp-media-buttons js-layout-private-add-new-top {
/* 隱藏Layout按鈕 */
display:none !important;
}
.wp-media-buttons .js-wpv-fields-and-views-in-toolbar {
/* 隱藏Views按鈕 */
display: none;
}
#wpddl_template{
/* 隱藏Template Layout Metabox */
display: none;
}
嗨 早安,所請教
1.所以是兩段的Function內容都不能這樣使用,皆會影響嗎
2.如果都會用影響,那這段css要如何運用搭配呢?
第一段PHP代碼會影響使用,第二段PHP代碼是需要的。簡單來説
简单来说,你可以保留这段PHP代码
add_action( 'admin_init', 'my_admin_init' );
function my_admin_init() {
if(!current_user_can('manage_links')) {
wp_enqueue_style( 'myStylesheet', get_stylesheet_directory_uri() . '/wpadmin.css' );
}
}
然後按照我上面提到的修改CSS文件:
https://toolset.com/forums/topic/%e9%97%9c%e6%96%bc%e5%be%8c%e5%8f%b0%e9%9a%b1%e8%97%8f-toolset-post-type-%e4%b8%ad%e7%9a%84-template-layout-metabox/#post-1392123