wecodemore / termlimit
WordPress 插件,用于按帖子类型限制(自定义)分类法术语的数量。
Requires
- php: >=5.4
- composer/installers: ^1
- wcm/git-php-hooks: ^1
- wcm/git-php-hooks-library: ^1
Requires (Dev)
- 10up/wp_mock: dev-master
- mockery/mockery: dev-master
- phpunit/phpunit: 3.7.*
README
按帖子类型限制术语(分类、帖子标签、自定义分类法术语)的数量
你是否有懒惰的作者,不在乎使用单个标签?你是否有想成为SEO专家,在每篇帖子中使用所有标签的人?
到此为止。就像在StackOverflow和其他StackExchange网站上看到的那样:至少1个标签,最多5个。
(是的,你可以定义数量)
需要 PHP 5.4+ 运行。低于PHP版本将无法使用。
这是一个插件吗?
是的。针对WordPress。
如何安装?
您可以简单地下载它,就可以使用了。但以下选项是首选的。
或者只需使用Composer将插件安装/导入到您的项目中
composer create-project wcm/termlimits
或者使用git将存储库克隆到您的插件目录中
git clone git@github.com:wecodemore/wcm-termlimit.git
如何使用?
默认情况下,需要添加的最少术语数量为 0
,最多为 3
。并且限制仅适用于 post
帖子类型。
要更改限制或类型,您可以在一个小的子插件中使用两个过滤器
<?php
/** Plugin Name: Term Limit config */
// Apply a minimum of 3 and a limit of 6 terms
add_filter( 'wcm-term.limit', function( Array $limit )
{
return range( 3, 6 );
} );
// Apply the limit to the following post types
add_filter( 'wcm-term.types', function( Array $types )
{
return [ 'post', 'my-custom-post-type', ];
} );
如果您想将限制扩展到自定义分类法,您还必须编写一个快速扩展/类来处理该情况
class MyCustomTaxonomy extends AbstractTaxon implements TaxonInterface
{
public function __construct()
{
$this->append( explode( ",", filter_var(
$_POST['tax_input']['custom_terms'],
FILTER_SANITIZE_STRING,
[ FILTER_NULL_ON_FAILURE, ]
) ) );
}
}
要查看您应该作为输入/$_POST
值的内容,请使用以下迷你插件来转储您的 save_post
操作。
<?php
/** Plugin Name: (Debug) Dump $_POST during save_post */
add_action( 'save_post', function()
{
exit( var_dump( $_POST ) );
} );
重要:请确保您至少有FTP访问权限,并且可以实际编辑或删除插件。否则,您将陷入困境。这将破坏(退出)您的请求,并显示帖子转储。
待办事项列表
自定义分类法术语。
此外,到目前为止,还没有内置功能来处理超过限制或未达到所需阈值(最小/最大术语)的情况。该插件允许一切通过,并只是通知用户。到目前为止的一个想法是扩展通知。问题是,我不知道在这种情况下会发生什么。我们应该删除所有添加的术语吗?如果允许20个,用户添加了21个怎么办?我们应该只切断一个吗?如果是这样,哪个?等等。正如您所看到的,有许多可能的UX陷阱,我现在还没有解决它们的方法。坦白说:这只是一个非常快速的项目,因为它经常被请求。如果您有任何想法,请随时提出拉取请求来讨论您的想法。提前感谢。
许可
WCM TermLimits 在MIT许可下。您可以随意做任何您觉得舒适的事情。仍然,一条推文或类似的在这里的GitHub上不会伤害到,对吧?