以下是显示在导航菜单界面左侧最上方的元框示例:
/**
* Instantiates the class
*/
add_action( \'admin_init\', array( \'call_someClass\', \'init\' ) );
/**
* The Class
*/
class call_someClass {
const LANG = \'exch_lang\';
public static function init() {
$class = __CLASS__;
new $class;
}
public function __construct() {
// Abort if not on the nav-menus.php admin UI page - avoid adding elsewhere
global $pagenow;
if ( \'nav-menus.php\' !== $pagenow )
return;
$this->add_some_meta_box();
}
/**
* Adds the meta box container
*/
public function add_some_meta_box(){
add_meta_box(
\'info_meta_box_\'
,__( \'Example metabox\', self::LANG )
,array( $this, \'render_meta_box_content\' )
,\'nav-menus\' // important !!!
,\'side\' // important, only side seems to work!!!
,\'high\'
);
}
/**
* Render Meta Box content
*/
public function render_meta_box_content() {
echo \'<p>Example text</p>\';
}
}
add\\u meta\\u box的重要部分是:
,\'nav-menus\' // important !!!
,\'side\' // important, only side seems to work!!!
有一个nav menu post类型,但它不支持元盒和nav菜单。php硬编码为使用“nav menus”和“side”值。只要你尊重这一点,你就可以在合理的范围内做任何你喜欢的事情。
遗憾的是,在撰写本文时,无法向单个菜单项本身添加额外字段,例如链接、页面等,因为这些字段是硬编码的。您可以通过jQuery添加它们,然后在需要时通过后端的挂钩保存它们。