spot_img
HomeWordPress教程wordpress建站公司 在自定义帖子类型中创建“静态”分类法以供选择?

wordpress建站公司 在自定义帖子类型中创建“静态”分类法以供选择?

spot_img

JasperAI 10000字免费额度试用

好吧,所以我有一个名为 Blurbs 的自定义帖子类型(翻译,有点)。 我想为 Blurbs 中的帖子添加一组静态类别(我不希望用户能够创建自定义类别)。 我想要两种不同类型的类别; 链接和页面摘录。 我做了一些阅读并得出结论,分类法是将这些“类别”添加到帖子类型的方法。

我已经创建了分类法,但我不希望它在菜单中可见。 我只想要编辑/发布屏幕上的“类别”框,其中包含两个静态项目。

这是我到目前为止所拥有的:

$labels = array(
    'name' => 'Categories',
    'singular_name' => 'Category',
    'search_items' => 'Search categories',
    'all_items' => 'All categories',
    'edit_item' => 'Change category',
    'update_item' => 'Update category',
    'add_new_item' => 'Create new category',
    'new_item_name' => 'New category name'
);

register_taxonomy('categories', array('blurb'), array(
    'hierarchical' => true,
    'labels' => $labels,
    'show_ui' => true,
));

通过设置 show_uifalse,它从两个地方(菜单和链接框)消失。

WordPress divi主题

所以,我需要帮助的两个问题是:

  1. 我如何从菜单中删除它?
  2. 我如何给它“静态”选项(又名类别)以供选择?

  1. 做了 show_ui => false

    然后在帖子编辑屏幕上显示它手动添加框

    add_action('add_meta_boxes', 'meta_boxes_function');
    
    function meta_boxes_function() {
         add_meta_box('categoriesdiv', 'categories', 'post_categories_meta_box', 'blurb', 'side', null, array('taxonomy' => 'categories'));
    }
    
  2. 对每个静态术语使用此代码

    if(!term_exists('term1', 'categories'))
        wp_insert_term('term1', 'categories');
    

有一种比隐藏用户界面(show_ui=false) 并添加自定义元数据框以仅显示术语:删除用户管理术语的能力。

如果您取消用户管理条款的能力,您不仅拥有一个安全的解决方案,而且用户界面会自行处理。 作为的一部分 register_taxonomy() 您可以指定用户必须具备的管理/编辑/删除和分配条款的能力。

 register_taxonomy( 
    'categories',
    array( 'blurb' ),
    array( 
      ...
      'show_ui' => true,
      'capabilities' => array(
        'manage_terms' => 'a_capability_the_user_doesnt_have',
        'edit_terms'   => 'a_capability_the_user_doesnt_have',
        'delete_terms' => 'a_capability_the_user_doesnt_have',
        'assign_terms' => 'edit_posts'
      ),
      ...
    )
 )

对于前三个,您需要将功能设置为用户不具备的功能。 事实上,如上保留它可能就可以了。 如果 仍然想管理/编辑/删除条款,您始终可以使用您拥有的功能,但您的客户可以(他们可以吗? manage_options, 例如?)。 这将允许您创建和维护“静态”列表。 或者您可以在进行上述更改之前简单地执行此操作。

最后你会想要给一个能力 assign_terms 用户 有。 默认情况下,它是 edit_posts,因此您可能可以保留它。 但是,您可能想要创建一个新功能 edit_blurb,这样您就可以允许您的用户编辑简介,但不能编辑帖子。

高质量外链购买

WordPress,然后处理其余部分。 由于用户无法管理/编辑/删除条款,因此管理菜单消失了。 此外,编辑简介页面上的 metabox 仅显示现有术语,用户无法添加/删除或编辑任何术语。


*请记住,隐藏 UI 不会删除用户的 能力 编辑和删除条款,它只是隐藏它。

WordPress建站服务
5分钟生成10篇英文软文article forge软件试用
siteground guangda
WordPress花园官方账号
WordPress花园隶致力于为广大跨境电商和独立站爱好者提供优质的WordPress教程、Woocommerce教程、Facebook、Twitter、tiktok、Instagram教程和谷歌SEO教程等资料和对应的建站推广服务。关注‘哟派出海’公众号了解最新资讯。粉丝福利:Shopline免费独立站建设14天优惠 商务合作: [email protected]
RELATED ARTICLES