juvo / bricks-custom-query
易于使用的自定义砖块查询
Requires
- php: >=8.1.0
Requires (Dev)
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^1.10.6
- szepeviktor/phpstan-wordpress: ^v1.1.7
This package is auto-updated.
Last update: 2024-09-27 14:28:49 UTC
README
您是一名开发者,并希望将自定义查询添加到砖块构建器中?这个包就是为您准备的。从现在起,您可以为循环添加自己的逻辑和功能。您是否想过在一个高度复杂的循环中迭代自定义数据库、外部API或WordPress数据结构?来吧。
功能概述
- 简单注册自定义查询
- 为查询监控插件自动性能分析
- 为您的查询添加自定义控件
- WP Gridbuilder 支持(仅适用于原生WordPress数据类型)
- 多站点查询(仅适用于原生WordPress数据类型)
安装
要安装此包,您可以使用 composer。在终端中运行以下命令
composer require juvo/bricks-custom-query
您应该尽早启动注册。最佳位置是在您插件的主体文件或主题的 functions.php 中。
add_action('init', function() { juvo\Bricks_Custom_Queries\Query_Registry::getInstance(); });
用法
要注册一个简单的查询,您可以使用以下代码片段。第一个参数是查询名称,第二个参数是查询标签,第三个参数是返回回调的回调。
Query_Registry::set( 'collection_prompts', // Query name 'Collection Prompts', // Query label function(array $args, \Bricks\Query $query_obj, juvo\Bricks_Custom_Queries\Query $query) { // Callback for query args return array_merge($args, [ 'post_type' => 'posts', ] ); } );
查询类型
有一个可选的第四个参数,允许您设置查询的类型。如果您查询的内容不是文章,请相应地更改类型。支持的类型作为 PHP 枚举设置。默认类型是 Query_Type::Post
。
enum Query_Type { case Post; case User; case Term; case Other; }
如果您不使用原生WordPress数据类型,请选择 Query_Type::Other
。有关“其他”查询的更详细指南,请参阅此指南
查询回调
对于原生WordPress数据类型,回调必须返回有效的查询参数。对于自定义数据类型,您需要返回实际数据。对于后者,返回值将不再进一步处理。
查询配置
您可以使用设置函数配置一些查询配置。有关这些的完整文档,请参阅此处:https://github.com/JUVOJustin/bricks-custom-query/wiki/Query-Configs
附加控件
您可以为查询添加附加控件。控件的全列表可以在以下位置找到:https://academy.bricksbuilder.io/topic/controls/ 您不需要设置选项卡。
Query_Registry::set( 'collection_prompts', // Query name 'Collection Prompts', // Query label function(array $args, \Bricks\Query $query_obj, juvo\Bricks_Custom_Queries\Query $query) { // Callback for query args // Check setting and apply your logic if (!empty($query_obj->settings['return_all'])) { $args['posts_per_page'] = -1; } return array_merge($args, [ 'post_type' => 'posts', ] ); } )->set_controls([ 'return_all' => [ 'label' => esc_html('Return all'), 'type' => 'checkbox', ] ]);