alleyinteractive / internal-flags
使用隐藏的分类法来提高昂贵的查询。
v0.2.0
2022-07-27 04:00 UTC
Requires (Dev)
- alleyinteractive/alley-coding-standards: ^0.3
- mantle-framework/testkit: ^0.4
- phpunit/phpunit: ^9.3.3
This package is auto-updated.
Last update: 2024-09-21 23:30:04 UTC
README
创建一个隐藏的分类法,通过不依赖元查询来提高昂贵的查询性能。允许轻松地对文章设置/取消设置“标志”,并完全隐藏给最终用户。
说明
默认情况下,内部分类法将被添加到所有注册的文章类型。
常见用例
- 隐藏于归档/搜索中
- 作者的帖子(通常存储为元数据)
- 显示/隐藏赞助帖子
用法
在帖子上设置标志
use Internal_Flags\set_flag; set_flag( 'hide-from-archives', $post_id );
从帖子中移除标志
use Internal_Flags\remove_flag; remove_flag( 'hide-from-archives', $post_id );
检查帖子上的标志是否存在
use Internal_Flags\has_flag; has_flag( 'hide-from-archives', $post_id ); // bool
搜索带有标志的帖子
use Internal_Flags\get_flag_tax_query; $posts = new \WP_Query( [ // ... 'tax_query' => [ get_flag_tax_query( 'show-on-page' ) ], ], );
搜索没有标志的帖子
上述操作的逆操作
use Internal_Flags\get_flag_tax_query; $posts = new \WP_Query( [ // ... 'tax_query' => [ get_flag_tax_query( 'hide-from-archives', false ) ], ], );