alleyinteractive / wp-find-one
查询并返回一个WordPress文章、术语或其他对象,跳过中间数组。
v2.0.0
2022-12-29 20:23 UTC
Requires
- php: ^8.0
Requires (Dev)
README
函数家族find_one()
是WordPress常用检索函数(如get_posts()
或get_terms()
)的包装,将那些检索函数的返回值简化为单个结果。
安装
使用以下命令安装最新版本:
$ composer require alleyinteractive/wp-find-one
基本用法
在person
文章类型中查找一个项目
<?php use function Alley\WP\find_one_post; // Returns a \WP_Post or null. $person = find_one_post( [ 'meta_key' => 'twitter', 'meta_value' => '@potatomaster', 'post_type' => 'person', ] );
这相当于
<?php $person = \get_posts( [ 'meta_key' => 'twitter', 'meta_value' => '@potatomaster', 'post_type' => 'person', 'posts_per_page' => 1, 'suppress_filters' => false, ] ); if ( ! empty( $person[0] ) ) { $person = $person[0]; }
同样可以搜索分类术语
<?php use function Alley\WP\find_one_term; // Returns a \WP_Term or null. $category = find_one_term( [ 'slug' => 'potatomaster', 'taxonomy' => 'category', ] );
这相当于
<?php $category = \get_terms( [ 'number' => 1, 'slug' => 'potatomaster', 'taxonomy' => 'category', ] ); if ( ! empty( $category[0] ) ) { $category = $category[0]; }
底层的find_result()
函数接受要搜索的对象的完全限定类名和查询结果数组
<?php use function Alley\WP\find_result; // Returns a \WP_Network or null. $network = find_result( \WP_Network::class, \get_networks() );
提供了所有具有元数据表的WordPress核心数据类型的辅助函数
find_one_comment()
find_one_post()
find_one_site()
find_one_term()
find_one_user()