Elementor Pro中的自定义查询不起作用



我有一个自定义的帖子类型"properties",它有一个复选框字段(字段名"property_status"(,选项为"rent:For rent"one_answers"sale:For sale"(值:标签(。我还有一个页面,我想在那里列出所有待售的房产,所以我在那里添加了posts小部件,并为查询提供了ID"待售"。我在上查看了自定义查询文档https://developers.elementor.com/custom-query-filter/在我的儿童主题函数.php中,我添加了以下行:

add_action( 'elementor/query/for-sale', function( $query ) {
// Get current meta Query
$meta_query = $query->get( 'meta_query' );
// Append our meta query
$meta_query = [
'key'       => 'property_status',
'value'     => 'sale',
'compare'   => 'in',
];
$query->set( 'meta_query', $meta_query);
} );

这并没有产生我想要的结果:它不会破坏我的网站,但我一直在获得所有属性的列表。只是为了测试一下,我还用其他字段类型(文本字段和数字字段(和其他比较运算符尝试了这段代码,但结果相同。我还评论了上面的行,并输入了以下行:

$query->set( 'post_type', 'agent' );

这确实给了我一个代理列表,而不是属性列表,所以至少我知道add_action正在做它的工作,我想这是有价值的。有人对我如何调整元查询以使其真正工作有什么建议吗?我不是PHP开发人员,也不太确定如何从这里开始。如有任何建议,我们将不胜感激。我真的很想知道我做错了什么,因为这会给我机会让我的网站更进一步。

此外,您没有将property_status查询附加到meta_query的其余部分。你只是简单地将它复制到其中。你可以使用Array_push

最新更新