內容簡介
這個 WordPress 外掛直覺地調整後端使用者的所有元框位置和畫面欄位配置。
感謝原開發者(已停止支援的 Global Meta Box Order 外掛)讓這個外掛復活,希望能更穩定並支援 WordPress 的新版本。
簡便說明
安裝與啟用外掛
切換到文章、頁面、自訂文章型別或儀表板
變更其中一個或全部元框的排序和位置
變更畫面欄位配置
切換到其他使用者(也可以使用用戶切換外掛協助)
查看變更是否套用
安裝
下載並解壓縮,將 "global-meta-box-order" 資料夾移至 "plugins" 資料夾中。進入 WordPress 後台啟用外掛。
還原
這個外掛不會寫入任何資料庫,它只會讀取資料。所以它不會觸碰任何使用者的設定,只是基於每個要求篩選它們。所有套用的變更從使用者的角度看似乎都是永久的,但事實上不會。只需要停用外掛,所有變更就會消失。再次啟用外掛,它們就會全部重新套用。
工作原理
這個外掛作用於原始設計使用者,其元框畫面設定(可見度、位置和排序)和畫面欄位配置會在運行時自行複製到所有其他後端使用者中。
預設上,原始設計使用者是找到的第一位管理員使用者,因此您需要以該使用者登入才能全域變更畫面設定。有關如何更改預設原始設計使用者以及其他設定,請參閱下面的「配置」章節。
外掛運作範圍
預設情況下,當使用者:
編輯文章
編輯頁面
編輯自訂文章型別
進入儀表板
時,會啟用這個外掛。
變更的內容
它會始終變更
元框的可見度、排序和列位置
畫面欄位配置
當需要時,它還會
移除畫面選項方塊
鎖定所有方塊,使其無法再被使用者移動
使用方法
登入原始設計使用者。預設情況下,這是在系統中找到的第一位管理員使用者。
選擇編輯畫面(文章、頁面、自訂文章型別)或儀表板,移動元框,更改其畫面設定和畫面欄位配置。切換到某些使用者以查看您的設定,再切換回來調整它們。
完成後,您可能希望通過移除畫面選項方塊和鎖定方塊的排序來鎖定您的畫面。當然,原始設計使用者不會受到影響。
配置
後端整合極簡化。沒有導航頁面、沒有選項頁面,也沒有資料庫中的頁面。相反,配置這個外掛的地方是您的主題的 functions.php。
順便說一下:您不需要配置這個外掛。只要它能找到管理員使用者,它就能正常工作。
準備工作
啟動編輯器,加載您的 functions.php,將以下代碼複製並貼到 functions.php 中。請按照所需的方式建立容器進行配置,不過以下範例僅為簡短起見,因此沒有進行外掛載入和啟用的確認(可以查看這篇不錯的
外掛標籤
開發者團隊
📦 歷史版本下載
原文外掛簡介
Intuitively harmonize meta box positions and screen column layout for all backend users of your WordPress installation.
Credit: This plugin is derived from the abandoned Global Meta Box Order plugin with hopes to be more stable and better support new versions of WordPress.
Quick Overview
Install and activate the plugin
Switch to a post, a page, a custom post type, or the dashboard
Change the order and position of a meta box (or all of them)
Change the column layout
Switch to a different user (maybe with the help of the User Switching plugin)
See your changes applied
Installation
Download and unpack, then move the folder ‘global-meta-box-order’ into your ‘plugins’ folder. Head over to your WordPress installation and activate the plugin in the admin area.
Rollback
The plugin doesn’t write anything to the database, it just reads. So it never touches any user settings, but instead filters them on a per request basis. Though all applied changes appear to be permanent from a user’s perspective, they are not. Just deactivate the plugin and see all changes disappear. Activate it again, and they will all be reapplied.
How It Works
The plugin operates on a blueprint user whose screen settings for meta boxes (visibility, position and ordering), and column layout are cloned for all other backend users on the fly.
By default, this blueprint user is the first admin user found, so you’ll need to be logged in as that user to globally change screen settings. For how to change the default blueprint user as well as other settings, please refer to the Configuration section below.
Where It Works
By default, the plugin kicks in when a user:
edits a post
edits a page
edits a custom post type
hits the dashboard
What It Changes
It will always change
the meta boxes visibility, ordering, and column positions
the column layout
When told so, it will also
remove the screen options box
immobilize all boxes, so they can’t be moved around by your users anymore
Usage
Log in as your blueprint user. By default, the is the first admin user found in your system.
Select an editing screen (post, page, custom post type) or the dashboard, move the meta boxes around, change their screen settings and the screen’s column layout. Switch to some user to review your settings, switch back to adjust them.
When done, you might want to lock your views down by removing the screen options box and by locking the boxes’ sort order. Your blueprint user, of course, wil not be affected by this.
Configuration
The backend integration is kept to a minimum. No navigation entry, no options page, no entry in the database. Instead, the place to go to configure the plugin is your theme’s functions.php.
By the way: You don’t need to configure the plugin. As long as it finds an admin user, it will work just fine.
Preparation
Fire up an editor, load your functions.php, and copy and paste the following code into it. The idea is to have some sort of container to do the configuration in, but do it any way you like.
For brevity, we’ll assume the plugin is loaded and active, so we won’t check for that (see this nice write-up on QueryLoop on some ways to do it, though).
if (is_admin()) {
// The path to the configuation is rather long, so let's
// make us a shorthand.
class_alias('\GlobalMetaBoxOrder\Config', 'MetaBoxConfig');
// Add MetaBoxConfig below this line
...
}
Now we are ready to add some of the configuration settings below to adjust the plugin’s default behaviour. You might also want to have a look at the example configuration near the end of this document.
Please keep in mind that you need to be logged in as any user but your blueprint user to see a setting applied. Again, the User Switching plugin might come in handy.
Screens To Operate On
By default, the plugin operates on the post, page, and custom post type editing screens, and the dashboard.
You can change this as follows:
// Operate on post and page screens only, leave the dashboard alone.
// This will still include custom post types.
MetaBoxConfig::$filter = array('post', 'page');
// Exclude custom post types
MetaBoxConfig::$include_cpts = false;
// Allow custom post types...
MetaBoxConfig::$include_cpts = true;
// ...but not all of them
MetaBoxConfig::$exclude = array('acme_product');
MetaBoxConfig in the example above is assumed to be an alias to \GlobalMetaBoxOrder\Config as shown in the preparation section above.
Changing the Blueprint User
Register a function that returns a user id, like so:
MetaBoxConfig::$getBlueprintUserId = function () { return 1; };
Or, more involved:
MetaBoxConfig::$getBlueprintUserId = function () {
$user = get_user_by('slug', 'jane');
return $user ? $user->ID : false;
};
MetaBoxConfig in the example above is assumed to be an alias to \GlobalMetaBoxOrder\Config as shown in the preparation section above.
Locking Views
By default, all users will be able to interact with the screen options box, and to move around the meta boxes themselves. There is a rationale behind it, but to cut things short, this is how you might want to change it:
// No screen options
MetaBoxConfig::$remove_screen_options = true;
// Meta boxes can't be moved anymore
MetaBoxConfig::$lock_meta_box_order = true;
MetaBoxConfig in the example above is assumed to be an alias to \GlobalMetaBoxOrder\Config as shown in the preparation section above.
Example Configuration
if (is_admin()) {
// Make sure plugin is active
if (class_exists('\GlobalMetaBoxOrder\Config')) {
// Make a long name short.
class_alias('\GlobalMetaBoxOrder\Config', 'MetaBoxConfig');
// Settings
MetaBoxConfig::$filter = array('post', 'page', 'dashboard'); // default
MetaBoxConfig::$include_cpts = true; // default
MetaBoxConfig::$getBlueprintUserId = function () { return 1; };
MetaBoxConfig::$exclude = array('acme_product');
MetaBoxConfig::$remove_screen_options = true;
MetaBoxConfig::$lock_meta_box_order = true;
}
}
On Moving the WYSIWYG Editor
The position of WordPress’ WYSIWYG editor is fixed, and can’t be changed out of the box (mostly because it lacks a box around it). There are reasons for this, but if you want to have a positionable editor anyway, you might want to have a look at our very own Movable Editor plugin.
If, on the other hand, if you want to place one specific box above the editor, you might want to check out this answer on stackexchange.
Support
If you have any issues with this plugin feel free to reach out to the maintainer, [email protected].
