Custom Post Type by user

时间:2016-07-21 作者:Morgalis

我为只能由特定用户组(如秘书)在管理中添加的事件创建了自定义帖子类型。

这位秘书可以添加一些新事件,但我想在每个用户登录到仪表板时显示他自己添加的事件。

我将如何处理这个问题?

1 个回复
最合适的回答,由SO网友:Aftab 整理而成

据我所知,您有一个自定义的帖子类型作为事件和用户角色,如秘书。

现在,如果秘书登录,他只能看到自己添加的事件,而不能看到其他事件。

因此,如果上述内容正确,那么我们将使用pre_get_posts 滤器

function wp_list_mine_posts( $wp_query_obj ) {
    // Front end, do nothing
    if( !is_admin() )
        return;

    global $current_user, $pagenow;
    get_currentuserinfo();

    // http://php.net/manual/en/function.is-a.php
    if( !is_a( $current_user, \'WP_User\') )
        return;

    // Not the correct screen, bail out
    if( \'edit.php\' != $pagenow )
        return;

    // Not the event post type, bail out
    if( \'event\' != $wp_query_obj->query[\'post_type\'] )
        return;

    // If the user is not administrator, filter the post listing
    if( ! current_user_can( \'delete_plugins\' ) )
        $wp_query_obj->set( \'author\', $current_user->ID );
}

add_action( \'pre_get_posts\', \'wp_list_mine_posts\' );
因此,只有管理员才能看到所有用户添加的所有事件。若部长登录,那个么他只能看到自己添加的事件。

相关推荐

如何修改WP_INCLUDE/BLOCKS/LATEST_posts.php

我是WordPress开发的初学者,希望得到一些帮助。我在一个简单的WordPress网站上工作。基本上,用户希望在主页上显示最新的帖子。我使用了最新帖子块,并将其设置为显示整个帖子内容,现在用户不希望帖子标题链接到单个帖子页面(因为帖子的内容显示在主页上)。如何安全地修改模板文件,使其像h2标记一样使用,而不是在主题中使用的href标记。我知道您可以创建子主题并修改wp_content 文件,但我不确定如何处理中的文件wp_include. 我读到一些关于修改functions.php 但我不确定,如果