Skip Navigation

[Resolved] 關於後台隱藏 Toolset Post Type 中的 Template Layout Metabox

This support ticket is created 5 years, 1 month ago. There's a good chance that you are reading advice that it now obsolete.

This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.

Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.

Sun Mon Tue Wed Thu Fri Sat
- 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 -
- 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 -

Supporter timezone: Asia/Hong_Kong (GMT+08:00)

This topic contains 3 replies, has 2 voices.

Last updated by Luo Yang 5 years, 1 month ago.

Assisted by: Luo Yang.

Author
Posts
#1392003
02.jpg
04.jpg
03.jpg
05.jpg
01.jpg

問題一
需求:隱藏 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/

#1392123

你好,

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;
}
#1395051

嗨 早安,所請教
1.所以是兩段的Function內容都不能這樣使用,皆會影響嗎
2.如果都會用影響,那這段css要如何運用搭配呢?

#1395053

第一段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