将系列插件组织为多作者功能

时间:2011-01-18 作者:mha

当前使用organize series插件的作者级别用户无法管理自己的系列。我正在尝试向插件添加功能,以便作者级用户可以创建;管理自己的帖子,管理员和编辑可以管理所有系列帖子。

经过一点搜索,我发现可以通过为序列分类创建一个“序列所有者”元数据并通过此“序列所有者=authorid”进行筛选来显示(&a);管理作者自己的帖子。

为了给系列分类法添加meta,我找到了一些tut和插件wordpress。org/extend/plugins/taxonomy-metadata/和shibashake。com/wordpress主题/添加术语或分类元数据。

现在我该怎么做?

任何帮助都将不胜感激。

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

我可以建议使用Posts 2 Posts 而不是插件。您可以创建“系列”自定义帖子类型,指定适当的功能,允许作者添加描述,使用拖放等方式排序帖子:

https://github.com/scribu/wp-posts-to-posts/wiki/Basic-usage

https://github.com/scribu/wp-posts-to-posts/wiki/Connection-ordering

SO网友:Bainternet

该插件为orgSeries设置中的分类法“series”创建自己的功能。phpon 163号线。

$capabilities = array(
            \'manage_terms\' => \'manage_series\',
            \'edit_terms\' => \'manage_series\',
            \'delete_terms\' => \'manage_series\',
            \'assign_terms\' => \'manage_series\'
            );  
因此,您可以管理这些功能,并允许其作者形成一个插件,如:

然后您可以将术语元数据保存为如下选项:

add_action(\'add_category \',save_series_meta)

function save_series_meta($t_id){
    $t = get_term_by(\'id\',$t_id,\'series\');
    if ($t){
        get_currentuserinfo();

        $term_data = array(
                            \'term_ID\' => $t_id,
                            \'author\'=>$current_user->ID
                            )
        update_option("SeriesMeta$t_id",\'$term_data\');
    }
}
因此,当他们创建一个系列时,它会将其作为选项保存在那里

然后您只需让用户只能编辑自己的系列,如下所示:

add_action ( \'edit_category_form_fields\', \'tme_cat_featured\');

function tme_cat_featured( $tag ) {

    $t = get_term_by(\'id\',$tag->term_id,\'series\');
    if ($t){
        get_currentuserinfo();
        $t_meta = get_option(\'SeriesMeta$t->term_id\')
        if ($current_user->ID != $t_meta[\'author\']){
            echo \'you can only edit your own series!!\';
            die()
        }

    }
}
你将需要你赢得的元框,只允许他们创建一个系列,并从中选择自己的。

结束

相关推荐

Get all posts in RSS

我想知道如何/是否可以访问wordpress设置中定义的最新X篇帖子。我见过通过RSS迁移所有博客内容的插件,还没有看到它们的方法。基本上我管理着几百个WordPress博客,我正在为我的客户构建一个新闻稿生成器。他们希望能够选择一些帖子,并将摘录显示在时事通讯正文中。这些网站分布在多个服务器上,新闻稿生成器构建在我们的CRM之上,因此很难直接查询数据库。RSS将是最干净的,但我似乎不知道如何一次访问10个以上的内容(当admin中设置了10个时)。有什么想法吗?