我被一些我确信很简单的事情困住了,但我在网上找不到答案。
我有两种自定义帖子类型(“步行”和“功能”),我尝试使用每个“步行”唯一的代码号进行查询。 “特征”可以与一个或多个“行走”相关,并且这作为自定义分类法“路线编号上的特征”存储在“特征”cpt 中。我正在尝试使用分类值(或多个值)并列出与该功能相关的步行(或多个步行)。相应的号码存储在“walks”cpt 上的自定义字段(“route_number”)中。
我尝试过以下代码:
$routenumber = get_the_term_list( $post->ID, 'feature-on-route-number', '', ', ', '' );
$posts = get_posts(array(
'posts_per_page' => -1,
'post_type' => 'walks',
'meta_key' => 'route_number',
'meta_value' => $routenumber
));
这不会返回任何结果。我通过添加“meta_value”的实际值以及为 $routenumber 分配单个值来测试该查询,并且它有效。所以我猜测问题在于使用分类法来设置变量。有没有简单的方法来解决这个问题?或者我是否需要第二个查询来循环分类法?
非常感谢
get_the_term_list()
WordPress 函数,因为它会提供链接术语名称的 HTML 字符串。
改用 WordPress 功能:
假设“feature-on-route-number”是正确的自定义分类法,请尝试:
$routenumber = get_the_terms($post->ID, 'feature-on-route-number');
if ( $routenumber && !is_wp_error($routenumber) ) {
$posts = get_posts( array(
'posts_per_page' => -1,
'post_type' => 'walks',
'meta_key' => 'route_number',
'meta_value' => current($routenumber)->name,
));
}
应该会更好。