如何根据登录的用户自定义管理员帖子

时间:2011-02-16 作者:Francesco Gallarotti

我们正在建立一个网站,将有10-15名摄影师发布内容。将有一个共同的博客+每个管理员有自己的投资组合来管理。“Portfolio galleries”和“Portfolio pages”是两种自定义类型,它们使用自定义分类法“Artist”进行分类。

我们希望所有管理员:

能够查看所有博客帖子能够在博客中发布能够添加新的“portfolio galleries”和“portfolio pages”,并将其自动标记为“Artister”分类法,其值与其名称相同(即John Smith将只能创建portfolio pages和galleries,并自动标记为*Artister=“John Smith”*)

  • 只能查看portfolio属于他们的页面和图库(即John Smith只会看到标有*Artist=“John Smith”*)的公文包页面和图库)最后,我们还希望有几个“超级管理员”,可以访问网站上的每个帖子。

    关于如何建造这样的东西有什么想法吗?这是否可行?

    <小时>EDIT根据@בנייתאתרים建议,我阅读了更多关于角色和功能的内容,并意识到Wordpress已经支持开箱即用的限制用户编辑其他人帖子的能力。我所需要做的就是将所有用户切换为作者,而不是编辑。

    简而言之,上述列表中的#1、#2和#4已解决。我仍然需要获得#3才能使用save_post.

  • 2 个回复
    SO网友:Bainternet

    肖特:是的,你可以做到。

    能够查看所有博客帖子

    默认编辑器角色可以管理查看所有帖子

    能够在博客中发布

    同样,默认的编辑器角色可以查看所有帖子

    能够添加新的“portfolio galleries”和“portfolio pages”,并将它们自动标记为>具有与其名称相同值的“艺术家”分类法(即John Smith)。

    为此,您可以使用save_post 钩住并自动添加用户名作为分类法。

    只能查看属于他们的公文包页面和图库(即,John Smith只能查看>标有“艺术家”的公文包页面和图库=“John Smith”)

    注册帖子类型时,可以定义capabilities 对于该帖子类型,您需要将edit\\u others\\u posts定义为false,还要确保您的帖子类型支持author。

    最后,我们还希望有几个“超级管理员”,可以访问网站上的每个帖子。

    在这种情况下,默认的管理员角色是您的朋友。基本上你的大多数问题都是Roles and Capabilities

    希望这有帮助

    SO网友:Ardee Aram

    如果我将是该网站的建设者,这就是我将为“查看属于它们的公文包页面和图库”所做的:

    1)我将创建一个新的页面模板,例如template-portfolio.php 在你的主题目录中,是这样的:

    <?php
    /*
    Template Name: Portfolio
    */
    if(is_user_logged_in() && current_user_can(\'manage_options\'))  //ensure that it is an admin, as per requirements
    {
       global $current_user;
       get_currentuserinfo(); //information shall be stored in $current_user
       // echo \'User ID: \' . $current_user->ID . "\\n";
    
       query_posts(array(\'Artists\' => $current_user->display_name));
    
        //do the loop here.
    
    }
    else
    {
      wp_redirect(get_bloginfo(\'url\')); //go to home page if not logged in or if not admin
    }
    ?>
    
    2.)我会在wordpress中创建一个页面,并指定Portfolio作为页面模板

    3)我会使用页面预览查看页面,如果可以,我会拍拍自己的后背;)

    您可以在这里为您的其他关注点执行流程的变体。

    结束

    相关推荐

    如何保护wp-admin免受第三方访问?

    wordpress管理面板和登录页面wp如何登录。php是否被隐藏,以便只有网站管理员才能访问?URL是否可以通过某种mod\\u重写规则重写,而不用担心破坏任何东西(抛开所有插件)?最好的解决方案不应基于IP地址,这意味着管理员只能从一台或一组计算机访问网站。