【问题标题】:How to block tags programmatically on wordpress?如何在 wordpress 上以编程方式阻止标签?
【发布时间】:2016-06-14 14:00:00
【问题描述】:

如何使用 wordpress 以编程方式阻止我的自定义帖子类型的某些标签?

我知道 if ( current_user_can() ) 函数,但我不确定在花括号中添加什么来实际阻止某个用户角色访问该标签的所有元素。

【问题讨论】:

  • 当您注册您的帖子类型时,您可以定义让用户使用您的自定义帖子类型执行某些操作所需的功能。 codex.wordpress.org/Function_Reference/… 但是我建议在这里使用成员插件:en-ca.wordpress.org/plugins/members 因为它让事情变得更容易。
  • 谢谢。你知道如何阻止它的标签吗?我意识到我需要专门按标签阻止,而不仅仅是自定义帖子类型。我已经编辑了我的帖子。我试图避免使用插件。

标签: php wordpress


【解决方案1】:

当您注册您的分类时,设置 capabilites 参数以为不同的操作创建自定义功能。

我会看起来像这样:

$args = array(
        'labels'            => $labels,
        'public'            => true,
        'show_in_nav_menus' => true,
        'show_admin_column' => false,
        'hierarchical'      => false,
        'show_tagcloud'     => true,
        'show_ui'           => true,
        'query_var'         => true,
        'rewrite'           => true,
        'capabilities'      => array(
            'manage_terms' => 'manage_my_tax',
            'edit_terms' => 'manage_my_tax',
            'delete_terms' => 'manage_my_tax',
            'assign_terms' => 'edit_my_tax',
        ),
    );

    register_taxonomy( 'taxonomy-slug', array( 'post' ), $args );

在上面,我根据 WordPress 分配的默认功能设置了功能,这些功能是:

'manage_terms' => 'manage_categories'
'edit_terms' => 'manage_categories'
'delete_terms' => 'manage_categories'
'assign_terms' => 'edit_posts'

创建自定义功能后,使用Members plugin 分配可以执行这些功能的角色。

安装插件后,转到用户>角色。选择您要控制的角色,然后转到分类法并设置该角色的功能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-08
    • 2021-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多