欢迎光临
我们一直在努力

WordPress函数:remove meta box(移除Meta模块)

建站超值云服务器,限时71元/月

本文目录
[隐藏]

  • 1描述
  • 2用法
  • 3参数
  • 4示例
  • 5源文件
  • 6相关内容

描述

可以移除文章、页面编辑界面的Meta模块,还可以移除仪表盘的Meta模块。

用法

1
<?php remove_meta_box( $id, $page, $context ); ?>

<?php remove_meta_box( $id, $page, $context ); ?>

参数

$id

(字符串)(必需)所要移除的Meta模块的HTML 的 id 属性。部分可用的 id 如下:

‘authordiv’ – 作者模块

‘categorydiv’ – 分类模块

‘commentstatusdiv’ – 评论状态模块

‘commentsdiv’ – 评论模块

‘formatdiv’ – 文章格式模块

‘pageparentdiv’ – 页面属性模块

‘postcustom’ – 自定义字段模块

‘postexcerpt’ – 摘要模块

‘postimagediv’ – 特色图像模块

‘revisionsdiv’ – 版本模块

‘slugdiv’ – 别名模块

‘submitdiv’ – 发布 模块

‘tagsdiv-post_tag’ – 标签模块

‘trackbacksdiv’ – 发送 trackback 模块

默认值:无
$page

(字符串)(必需)要从那个编辑界面移除Meta模块,可用值:

‘post’  – 文章编辑界面

‘page’  – 页面编辑界面

‘attachment’  – 附件编辑界面

‘link’ – 链接编辑界面

‘dashboard’ – 仪表盘

或者已注册的自定义文章类型的编辑界面,例如 ‘my-product’

默认值:无
$context
(字符串)(必需)所要删除的Meta模块所在的位置,可选值: ‘normal’, ‘advanced’, or ‘side’.

默认值:无

示例

对非管理员账户,移除文章和链接编辑界面的某些Meta模块:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
if (is_admin()) :
function my_remove_meta_boxes() {
 if( !current_user_can('manage_options') ) {
  remove_meta_box('linktargetdiv', 'link', 'normal');
  remove_meta_box('linkxfndiv', 'link', 'normal');
  remove_meta_box('linkadvanceddiv', 'link', 'normal');
  remove_meta_box('postexcerpt', 'post', 'normal');
  remove_meta_box('trackbacksdiv', 'post', 'normal');
  remove_meta_box('postcustom', 'post', 'normal');
  remove_meta_box('commentstatusdiv', 'post', 'normal');
  remove_meta_box('commentsdiv', 'post', 'normal');
  remove_meta_box('revisionsdiv', 'post', 'normal');
  remove_meta_box('authordiv', 'post', 'normal');
  remove_meta_box('sqpt-meta-tags', 'post', 'normal');
 }
}
add_action( 'admin_menu', 'my_remove_meta_boxes' );
endif;

if (is_admin()) : function my_remove_meta_boxes() { if( !current_user_can(‘manage_options’) ) { remove_meta_box(‘linktargetdiv’, ‘link’, ‘normal’); remove_meta_box(‘linkxfndiv’, ‘link’, ‘normal’); remove_meta_box(‘linkadvanceddiv’, ‘link’, ‘normal’); remove_meta_box(‘postexcerpt’, ‘post’, ‘normal’); remove_meta_box(‘trackbacksdiv’, ‘post’, ‘normal’); remove_meta_box(‘postcustom’, ‘post’, ‘normal’); remove_meta_box(‘commentstatusdiv’, ‘post’, ‘normal’); remove_meta_box(‘commentsdiv’, ‘post’, ‘normal’); remove_meta_box(‘revisionsdiv’, ‘post’, ‘normal’); remove_meta_box(‘authordiv’, ‘post’, ‘normal’); remove_meta_box(‘sqpt-meta-tags’, ‘post’, ‘normal’); } } add_action( ‘admin_menu’, ‘my_remove_meta_boxes’ ); endif;

在文章编辑界面移除自定义字段模块:

1
2
3
4
5
6
<?php 
function remove_post_custom_fields() {
	remove_meta_box( 'postcustom' , 'post' , 'normal' ); 
}
add_action( 'admin_menu' , 'remove_post_custom_fields' );
?>

<?php function remove_post_custom_fields() { remove_meta_box( ‘postcustom’ , ‘post’ , ‘normal’ ); } add_action( ‘admin_menu’ , ‘remove_post_custom_fields’ ); ?>

在文章编辑界面移除摘要模块:

1
2
3
4
5
6
<?php 
function remove_page_excerpt_field() {
	remove_meta_box( 'postexcerpt' , 'page' , 'normal' ); 
}
add_action( 'admin_menu' , 'remove_page_excerpt_field' );
?>

<?php function remove_page_excerpt_field() { remove_meta_box( ‘postexcerpt’ , ‘page’ , ‘normal’ ); } add_action( ‘admin_menu’ , ‘remove_page_excerpt_field’ ); ?>

在页面编辑界面移除作者、评论状态和评论模块:

1
2
3
4
5
6
7
8
<?php 
function remove_page_fields() {
 remove_meta_box( 'commentstatusdiv' , 'page' , 'normal' ); //removes comments status
 remove_meta_box( 'commentsdiv' , 'page' , 'normal' ); //removes comments
 remove_meta_box( 'authordiv' , 'page' , 'normal' ); //removes author 
}
add_action( 'admin_menu' , 'remove_page_fields' );
?>

<?php function remove_page_fields() { remove_meta_box( ‘commentstatusdiv’ , ‘page’ , ‘normal’ ); //removes comments status remove_meta_box( ‘commentsdiv’ , ‘page’ , ‘normal’ ); //removes comments remove_meta_box( ‘authordiv’ , ‘page’ , ‘normal’ ); //removes author } add_action( ‘admin_menu’ , ‘remove_page_fields’ ); ?>

如果你想从自定义文章类型中移除某个Meta模块,可以参考下面的例子:

1
2
3
4
5
6
7
8
function remove_custom_taxonomy()
{
	remove_meta_box($custom_taxonomy_slug.'div', $custom_post_type, 'side' );
 
        // $custom_taxonomy_slug 是自定义Meta模块的别名, 例如 'genre' )
        // $custom_post_type 是自定义文章类型的别名,例如 'movies' )
}
add_action( 'admin_menu', 'remove_custom_taxonomy' );

function remove_custom_taxonomy() { remove_meta_box($custom_taxonomy_slug.’div’, $custom_post_type, ‘side’ ); // $custom_taxonomy_slug 是自定义Meta模块的别名, 例如 ‘genre’ ) // $custom_post_type 是自定义文章类型的别名,例如 ‘movies’ ) } add_action( ‘admin_menu’, ‘remove_custom_taxonomy’ );

如果有必要,你甚至可以去除“发布”模块:

1
2
3
4
5
function remove_publish_box()
{
	remove_meta_box( 'submitdiv', 'custom_post_id', 'side' );
}
add_action( 'admin_menu', 'remove_publish_box' );

function remove_publish_box() { remove_meta_box( ‘submitdiv’, ‘custom_post_id’, ‘side’ ); } add_action( ‘admin_menu’, ‘remove_publish_box’ );

从仪表盘中移除Meta模块,可以使用下面的代码:

1
2
3
4
5
6
7
8
9
10
11
12
function remove_dashboard_widgets(){
    remove_meta_box('dashboard_right_now', 'dashboard', 'normal');   // 概况
    remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal'); // 近期评论
    remove_meta_box('dashboard_incoming_links', 'dashboard', 'normal');  // 链入链接
    remove_meta_box('dashboard_plugins', 'dashboard', 'normal');   // 插件
    remove_meta_box('dashboard_quick_press', 'dashboard', 'side');  // 快速发布
    remove_meta_box('dashboard_recent_drafts', 'dashboard', 'side');  // 近期草稿
    remove_meta_box('dashboard_primary', 'dashboard', 'side');   // WordPress blog
    remove_meta_box('dashboard_secondary', 'dashboard', 'side');   // 其它 WordPress 新闻
// 使用 'dashboard-network' 作为第二个参数,可以从多站点网络的仪表盘移除Meta模块
}
add_action('wp_dashboard_setup', 'remove_dashboard_widgets');

function remove_dashboard_widgets(){ remove_meta_box(‘dashboard_right_now’, ‘dashboard’, ‘normal’); // 概况 remove_meta_box(‘dashboard_recent_comments’, ‘dashboard’, ‘normal’); // 近期评论 remove_meta_box(‘dashboard_incoming_links’, ‘dashboard’, ‘normal’); // 链入链接 remove_meta_box(‘dashboard_plugins’, ‘dashboard’, ‘normal’); // 插件 remove_meta_box(‘dashboard_quick_press’, ‘dashboard’, ‘side’); // 快速发布 remove_meta_box(‘dashboard_recent_drafts’, ‘dashboard’, ‘side’); // 近期草稿 remove_meta_box(‘dashboard_primary’, ‘dashboard’, ‘side’); // WordPress blog remove_meta_box(‘dashboard_secondary’, ‘dashboard’, ‘side’); // 其它 WordPress 新闻 // 使用 ‘dashboard-network’ 作为第二个参数,可以从多站点网络的仪表盘移除Meta模块 } add_action(‘wp_dashboard_setup’, ‘remove_dashboard_widgets’);

源文件

remove_meta_box() 位于 wp-admin/includes/template.php

相关内容

移除WordPress文章/页面编辑窗口多余的meta模块

WordPress自定义文章编辑页面的分类和标签Meta模块标题

WordPress 仪表盘小工具接口(Dashboard Widgets API)

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » WordPress函数:remove meta box(移除Meta模块)
分享到: 更多 (0)