Wordpress - 从自定义帖子类型查询第一个和名称
Posted
技术标签:
【中文标题】Wordpress - 从自定义帖子类型查询第一个和名称【英文标题】:Wordpress - query first and name from custom post type 【发布时间】:2019-08-04 17:32:30 【问题描述】:我想使用自定义帖子类型元框查询名字和姓氏。
我正在使用的代码:
$name = 'John Doe';
$args = array(
'post_type' => 'customers',
'post_status' => array( 'publish', 'pending', 'draft' ),
'numberposts' => -1,
'order' => 'ASC',
'orderby' => 'meta_value',
'meta_key' => 'customer_first_name'
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'customer_first_name',
'value' => $name,
'compare' => 'LIKE',
),
array(
'key' => 'customer_last_name',
'value' => $name,
'compare' => 'LIKE',
),
),
);
$customers = get_posts($args);
$num = count( $customers );
如果我只搜索“John”,就会显示结果。如果我搜索全名“John Doe”,则没有结果。这是为什么呢?
【问题讨论】:
【参考方案1】:当然它不会显示任何结果,因为您没有拆分名字名字和姓氏。
$name = 'John Doe';
$parts = explode(" ", $name);
$first_name = $parts[0];
$last_name = (count($name) > 1) ? $name[count($name)-1]: $first_name;
$args = array(
'post_type' => 'customers',
'post_status' => array( 'publish', 'pending', 'draft' ),
'numberposts' => -1,
'order' => 'ASC',
'orderby' => 'meta_value',
'meta_key' => 'customer_first_name',
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'customer_first_name',
'value' => $first_name,
'compare' => 'LIKE',
),
array(
'key' => 'customer_last_name',
'value' => $last_name,
'compare' => 'LIKE',
),
),
);
$customers = get_posts($args);
$num = count( $customers );
与国际名称一样,如果姓氏为空,则姓氏也将使用名字。
【讨论】:
以上是关于Wordpress - 从自定义帖子类型查询第一个和名称的主要内容,如果未能解决你的问题,请参考以下文章
WordPress - 无法从自定义帖子类型中的元框获取价值
Wordpress ACF 字段如何从自定义帖子类型中获取选项