朋友你好, 我在Wordpress中需要一些帮助。我试图隐藏仅针对特定用户的帖子下显示的作者框。
如果我正在调查的帖子是由admin发布的,那么我想在admin发布的帖子内容下隐藏作者框,但是应该为所有其他用户显示?我尝试了不同的功能,但没有成功。
我想完全隐藏作者框,我知道可以用css代码完成
.author-box { display:none;}
但是这隐藏了完成它们的整个创作工具箱,我只是想在admin发布的帖子上隐藏作者框?
我正在使用genesis框架,所以如果您有任何帮助,请提出建议。
由于
答案 0 :(得分:0)
在主题的functions.php
文件中,添加以下内容:
function remove_my_post_metabox() {
global $post;
// If the post author ID is 1, then remove the meta box
// You would need to find the ID of the author, then put it in place of the 1
if ( $post->post_author == 1) {
remove_meta_box( 'authordiv','post','normal' ); // Author Metabox
}
}
add_action( 'add_meta_boxes', 'remove_my_post_metabox' );
如果您需要找出作者的角色,并根据角色(例如管理员)真正做到这一点,那么它会更像是这样:
function remove_my_post_metabox() {
global $post;
// If there's no author for the post, get out!
if ( ! $post->post_author) {
return;
}
// Load the user
$user = new WP_User( $post->post_author );
// Set "admin" flag
$is_admin = FALSE;
// Check the user roles
if ( !empty( $user->roles ) && is_array( $user->roles ) ) {
foreach ( $user->roles as $role ) {
if ( $role == 'administrator' ) {
$is_admin = TRUE;
}
}
}
// Lastly, if they ARE an admin, remove the metabox
if ( $is_admin ) {
remove_meta_box( 'authordiv','post','normal' ); // Author Metabox
}
}
add_action( 'add_meta_boxes', 'remove_my_post_metabox' );