如何讓 WordPress 難以讓客戶搞砸
已發表: 2021-11-25WordPress 是一個極具開創性的 CMS,它附帶了許多適應性強的亮點,使其能夠適應各種客戶的容器。
以下博客包含使客戶的 WordPress難以限制不必要、令人困惑或不安全的功能的提示和技巧。 這個博客可以幫助你解決那些很難讓客戶搞砸的事情。
禁用插件和主題編輯器:
沒有理由或理由讓任何人通過 WordPress 儀表板實時更改您的自定義主題或插件文檔。 專家不會那樣做,麻瓜們通常不明白通過避免單獨的分號來破壞網站是多麼自然。
這也是程序員可能誤用的安全無助。 幸運的是,我們在 WordPress.org 上的伙伴讓限制這個元素變得非常簡單。 基本上將隨附的廢料添加到 wp-config.php 文檔中。
定義('DISALLOW_FILE_EDIT',真);
這也將禁用插件編輯器。
禁用可視化編輯器:
在主題的 functions.php 文件中添加以下代碼,用於切換所見即所得編輯器的選項卡將消失。
功能 disable_visual_editor(){ # 如果您想有選擇地允許,請在此處添加邏輯 返回 false;}add_filter('user_can_richedit',disable_visual_editor',50);
這是一個不錯的開始,但您會看到粗體和斜體按鈕仍然存在於普通文字處理器上。
我想說的是,當 WYSIWYG 編輯器不再令人愉悅時,客戶濫用這些按鈕的頻率會大大降低。 儘管如此,儘管我想驅逐他們,因為他們有點多。
從文本編輯器中刪除粗體和斜體快速標籤:
文本編輯器具有用於選定文本和 em 標記的快速標記按鈕。 要刪除粗體和斜體按鈕,請在您的 functions.php 文件中添加以下代碼。
# 從文本編輯器功能中刪除粗體和斜體快速標籤
快速標籤設置($qtInit){ // 要禁用所有按鈕,它必須設置為“,”(不是“”) $qtInit['buttons'] = '更多,'; return $qtInit;}add_filter('quicktags_settings',);
這會評估您的客戶選擇、陳述、強調整篇文章的可能性。 儘管如此,這並不排除手動將標記組合到內容工具中的能力。 當您用盡所有其他選項後,有時這會被證明是有用的。
禁用可視化編輯器上的按鈕
添加以下代碼以禁用 funtions.php 文件中可視化編輯器上的按鈕。 用於調整 TinyMCE 編輯管理器的 WordPress API 有點不穩定,因為您必須查看用於暗示您需要撤離的每個捕獲物的代碼名稱。
# 移除可視化編輯器按鈕
函數 tinymce_buttons($buttons) { # 移除文本顏色選擇器 $remove = array('wp_adv'); //將其他按鈕名稱添加到此數組 # 找到數組鍵然後取消設置 返回 array_diff($buttons,$remove); } 添加過濾器( 'mce_buttons', 'tinymce_buttons' );
刪除“添加媒體”按鈕:
“添加媒體”按鈕理所當然地出現在自定義帖子類型支持經理突出顯示的任何時候。 通過將隨附的代碼添加到主題 functions.php 文檔中,您可以撤出按鈕。
# 刪除媒體按鈕 功能刪除添加媒體(){ # 如果您想更有選擇性,請有條件地執行此操作 remove_action('media_buttons', 'media_buttons'); } add_action('admin_head', 'remove_add_media');
禁用主題定制器選項:
如果您正在嘗試子主題,父主題可能會提供不適合子主題的自定義選項。 自定義選項可能未在您的子主題中使用,或者可能會破壞某些內容。
在任何情況下,WordPress 主題定制器 API 通過將隨附的位添加到您的主題 functions.php 文檔中,使客戶可以輕鬆地處理它們。

# 刪除定制器選項。
功能 remove_customizer_options( $wp_customize ) { // $wp_customize->remove_section('static_front_page'); // $wp_customize->remove_section( 'title_tagline' ); $wp_customize->remove_section('colors'); $wp_customize->remove_section('header_image'); $wp_customize->remove_section('background_image'); // $wp_customize->remove_section('nav'); // $wp_customize->remove_section('themes'); // $wp_customize->remove_section('featured_content'); // $wp_customize->remove_panel('widgets'); } add_action('customize_register', 'remove_customizer_options', 30);
隱藏未使用的儀表板菜單項:
每個站點都包含博客不是強制性的,有些站點通常不包含博客。 因此,如果我們談論 WordPress 儀表板或任何其他用戶界面,它會造成混亂並不必要地顯示無用的按鈕。
要隱藏此類未使用的儀表板菜單項,請使用以下代碼。
功能 custom_menu_page_removing() { // remove_menu_page('index.php'); //儀表板 // remove_menu_page('jetpack'); //噴氣背包* remove_menu_page('edit.php'); //帖子 remove_menu_page('upload.php'); //媒體 // remove_menu_page('edit.php?post_type=page'); //頁面 remove_menu_page('edit-comments.php'); //評論 // remove_menu_page('themes.php'); //外貌 // remove_menu_page('plugins.php'); //插件 // remove_menu_page('users.php'); //用戶 // remove_menu_page('tools.php'); //工具 // remove_menu_page('options-general.php'); //設置 } add_action('admin_menu', 'custom_menu_page_removing');
重要的是要理解,刪除這些菜單內容並不會真正放棄 WordPress 以獲得客戶的同意。 在任何情況下,客戶端都可以使用 URL 訪問隱藏菜單。
如果目標是通過掩蓋不必要的控件來減少儀表板的混亂,那麼這很可能是好的。
要實現這一點,請包含一些類似於插件的實施掛鉤的附件。
全球 $wp_roles; // 全局類 $role = '作者'; $cap = 'delete_published_posts'; $wp_roles->remove_cap($role, $cap);
使用 Mu 插件:
Mu代表必須使用,大多數黑客都不知道。 這是安裝大多數插件的目錄位置。
重要的是“必須使用”的插件自然是動態的,不能通過儀表板無意中禁用。 它們還堆疊在備用插件之前。
這對於網站合法運行必須可用的插件來說是完美的。 對於通常會卡在您的自定義主題 functions.php 文檔中的非演示性黑客來說,這也是一個非凡的選擇。
wp-內容/ mu插件/ 插件/ 主題/
結論!
您可能會認為削弱 WordPress 為您提供的實用性是很奇怪的。 無論如何,請記住,您的客戶並沒有付錢給您給他們很多按鈕。
您的責任是製作一個引人注目的、內容豐富的網站,該網站是定制的,以協調客戶的目標。 通過削弱危險或不必要的用處,你實際上是在傳遞更多的價值。
該博客將幫助您使 WordPress 難以讓客戶搞砸。