barnythorpe/wp-fluent-queries
最新稳定版本:0.1.0
Composer 安装命令:
composer require barnythorpe/wp-fluent-queries
包简介
A fluent interface for constructing Wordpress queries in a safe, readable and clean manner.
README 文档
README
Note
This package has been moved into: https://github.com/Barny-Thorpe/fluent-wp
This package aims to create a fluent interface for constructing Wordpress queries in a safe, readable and clean manner.
🔧 Installation
composer require barnythorpe/wp-fluent-queries
🛠 Usage
Main Query Builders
The package provides query builders for the following:
- WP_Query - https://developer.wordpress.org/reference/classes/wp_query/
- WP_Term_Query - https://developer.wordpress.org/reference/classes/wp_term_query/
- WP_User_Query - https://developer.wordpress.org/reference/classes/wp_user_query/
The queries are constructed like so:
$builder = new PostQueryBuilder(); $builder ->postType('custom_post_type') ->postsPerPage(12) ->fields('ids');
or to make life simpler using the factory class:
$query = Query::post() ->postType('custom_post_type') ->postsPerPage(12) ->fields('ids');
Nesting Conditions
The package also provides a solution for the complex nested queries within the main wordpress queries:
- WP_Meta_Query - https://developer.wordpress.org/reference/classes/wp_meta_query/
- WP_Tax_Query - https://developer.wordpress.org/reference/classes/wp_tax_query/
- WP_Date_Query - https://developer.wordpress.org/reference/classes/wp_date_query/
These can be constructed using the group and condition classes and added to the main query like so:
$wp_query = Query::post() ->postType('custom_post_type') ->taxQuery(QueryGroups::tax( QueryConditions::tax()->taxonomy('example_tax')->terms([1, 2, 3])->field('term_id'), QueryConditions::tax()->taxonomy('another_tax')->terms([4, 5, 6])->field('term_id'), )) ->metaQuery(QueryGroups::meta( QueryConditions::meta()->compare('=')->type('CHAR')->key('foo')->value('bar'), QueryConditions::meta()->compare('!=')->type('CHAR')->key('baz')->value('qux'), ));
Please go to the Groups and Conditions tests for more examples:
统计信息
- 总下载量: 3
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-05-11