从men / linked-taxonomies
该插件将两个(或更多)分类关联起来,并同步它们的术语。
Requires
- php: >=5.3.0
- composer/installers: ~1.0
Requires (Dev)
- php: >=5.3.3
- 10up/wp_mock: dev-master
- mockery/mockery: ~0.9.4
- phpunit/phpunit: ~4.0
This package is auto-updated.
Last update: 2024-09-15 16:30:07 UTC
README
你曾经需要处理两个或更多基本共享相同术语的分类吗?然后你厌倦了将一个分类的术语更改传播到其他分类中吗?
这正是Linked Taxonomies发挥作用的时候。
有许多很好的理由来拥有由相同一组术语组成的独立分类。其中一个是将这些分类注册为不同的帖子类型集。或者更精确地说,是对象类型,因为你还可以在评论或用户上使用分类和术语。另一个好理由是使用一个对某些用户角色可见的源分类,并链接一个或多个完全隐藏的目标分类,你只在后台自动使用它们。
安装
- 下载ZIP.
- 将内容上传到您的Web服务器上的
/wp-content/plugins
目录。 - 通过WordPress的插件菜单激活插件。
- 在WordPress后端的设置菜单中找到新的分类菜单项。
用法
这个插件提供了一种方法来链接特定的分类,无论是单向还是双向的,并同步它们的术语。这样做很简单。在分类管理页面上,您可以设置分类的链接。点击保存更改按钮,您就完成了。任何链接分类的术语更改都会自动传播到所有链接分类。
过滤器
为了自定义插件的一些方面,它为您提供了几个过滤器。对于这些中的每一个,下面都给出了简短说明以及如何更改默认行为的代码示例。只需将相应的代码片段放入您的主题的functions.php
文件或您的自定义插件中,或者放入其他适当的地点。
edit_linked_taxonomies_capability
编辑链接分类受限于某种能力,默认为manage_options
。
/** * Filters the capability required to edit linked taxonomies. * * @param string $capability Capability required to edit linked taxonomies. */ add_filter( 'edit_linked_taxonomies_capability', function() { return 'manage_categories'; } );
linkable_taxonomies
根据您想要如何使用插件,您可能希望定义哪些分类是可链接的。这个过滤器提供了根据参数查询的分类数组。您可以根据需要删除任何不想用于链接的分类。如果您只想设置传递给get_taxonomies
函数的查询参数,请参阅linked_taxonomies_get_taxonomies_args
过滤器。
/** * Filters the taxonomies that are available for linking. * * @param object[] $taxonomies Taxonomy objects. */ add_filter( 'linkable_taxonomies', function( $taxonomies ) { // Remove taxonomies that are not built in but public foreach ( $taxonomies as $key => $taxonomy ) { if ( ! $taxonomy->_builtin && $taxonomy->public ) { unset( $taxonomies[ $key ] ); } } return $taxonomies; } );
linked_taxonomies_get_taxonomies_args
如果您想更改默认为空的查询参数集,这些参数用于查询所有可链接分类,这个过滤器是一个很好的起点。对于更复杂的条件/检查,请参阅更强大的linkable_taxonomies
过滤器,它提供了可用于链接的分类数组。
/** * Filters the args for getting all taxonomies. * * @param array $args Taxonomies args. */ add_filter( 'linked_taxonomies_get_taxonomies_args', function() { // Only list taxonomies that are hierarchical and show their individual tag cloud return array( 'hierarchical' => 1, 'show_tagcloud' => 1, ); } );
list_linked_taxonomies_capability
访问插件设置页面也受到限制。为了区分仅允许列出链接分类的用户和能够编辑链接分类的用户,有两个单独的能力。访问设置页面的默认值为manage_categories
。
/** * Filters the capability required to list linked taxonomies. * * @param string $capability Capability required to list linked taxonomies. */ add_filter( 'list_linked_taxonomies_capability', function() { return 'manage_options'; } );
贡献
如果您有功能请求,或者您已经开发了该功能,请随时使用“问题”和/或“拉取请求”部分。
当然,如果您想使用插件在其他尚未包含的语言中,也可以提供翻译。