我创建了一个搜索过滤器,用于随机显示帖子,我想知道如何始终在搜索结果的第一位置显示特定的帖子项目,并正常显示其余项目。
感谢您的帮助@dassoun,这是查询:
$taxonomies = array('recipe_type', 'product_category', 'recipe_category', 'recipe_event', 'recipe_diet');
foreach ($taxonomies as $taxonomy) {
$taxonomies_taxonomy[$taxonomy] = get_taxonomy($taxonomy);
$taxonomies_terms[$taxonomy] = get_terms(
array(
'taxonomy' => $taxonomy,
'hide_empty' => false,
'meta_key' => 'filter_order',
'orderby' => 'meta_value_num',
'order' => 'ASC'
)
);
$taxonomies_selected[$taxonomy] = (get_query_var($taxonomy)) ? get_query_var($taxonomy) : '';
}
答案 0 :(得分:0)
我认为您应该看看“ UNION”运算符。
来自https://www.w3schools.com/sql/sql_union.asp: UNION运算符用于合并两个或多个SELECT语句的结果集。
想法是:
select * from post where (hastobetop = 1 or id = myid or whatever)
UNION
yourfilteredrequest
您可能必须从过滤的请求中排除第一个请求返回的行。
[编辑] 抱歉,我没有看到它是特定于wordpress的 [/ edit]