简体   繁体   中英

Wordpress Author box Control Function

Hello friends, i need little help in Wordpress. I am trying to hide the authorbox that appears under the post for specific user only.

Example if post i am looking into is posted by admin, then i want to hide the authorbox under post content that is posted by admin, but should show for all other users ? i tried different functions but not able to success on this.

I want to completly hide the authorbox, i know it can be done with css code that is

.author-box { display:none;}

but this hides the overall authorbox of complete them, i just want to hide the authorbox on the posts that are made by admin ?

i am using genesis framework, so please suggest if any help you can make here.

Thanks

In your theme's functions.php file, add something like this:

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' );

If you need to find out the role of the author, and truly do it based on the role (admin, for example), then it would be more like this:

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' );

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM