我有这样一个wp查询参数:
$args = array(
\'post_type\'=> \'myposttype\',
\'posts_per_page\' => 10,
\'meta_query\' => array(
\'relation\' => \'AND\',
array(\'key\' => \'routeFrom\',\'value\' => \'rome\',\'compare\' => \'LIKE\'),
array(\'key\' => \'routeTo\',\'value\' => \'paris\',\'compare\' => \'LIKE\'),
)
);
每个我的帖子都有自定义字段routeFrom和routeTo。在本例中,如果routeFrom等于Rome,routeTo等于Paris,则wp查询将显示这些帖子。问题是,无论我使用什么元查询,都会出现粘性帖子。
如果只匹配元查询,我想显示特定的粘性帖子。
现实生活中的例子是:我有一个路由搜索页面,我想在所有帖子的顶部显示粘性帖子,但前提是它也满足元查询(在本例中是特定的路由)。
我正在使用sticky posts插件“sticky Custom Post Types”,但帖子存储在全局“sticky\\u posts”选项字段中,就像普通帖子一样。
有什么帮助吗?
Updated code:
$stickyargs = array(
\'post_type\'=> \'trips\',
\'posts_per_page\' => -1,
\'post__in\' => get_option( \'sticky_posts\' ),
\'meta_query\' => array(
\'relation\' => \'AND\',
array(\'key\' => \'routeFrom\',\'value\' => $_GET[\'from\'],\'compare\' => \'LIKE\'),
array(\'key\' => \'routeTo\',\'value\' => $_GET[\'to\'],\'compare\' => \'LIKE\'),
)
);
$args = array(
\'post_type\'=> \'trips\',
\'paged\' => $paged,
\'posts_per_page\' => 10,
\'post__not_in\' => get_option( \'sticky_posts\' ),
\'meta_query\' => array(
\'relation\' => \'AND\',
array(\'key\' => \'routeFrom\',\'value\' => $_GET[\'from\'],\'compare\' => \'LIKE\'),
array(\'key\' => \'routeTo\',\'value\' => $_GET[\'to\'],\'compare\' => \'LIKE\'),
)
);
$search = new WP_Query($args);
$searchsticky = new WP_Query($stickyargs);
?>
<?php if ( $searchsticky->have_posts() ) : ?>
<?php while ( $searchsticky->have_posts() ) : $searchsticky->the_post(); ?>
<div class="search_item">
<?php the_content(); ?>>
</div>
<?php endwhile; ?>
<?php else : ?>
Not found
<?php endif; wp_reset_query(); ?>
<?php if ( $search->have_posts() ) : ?>
<?php while ( $search->have_posts() ) : $search->the_post(); ?>
<div class="search_item">
<?php the_content(); ?>>
</div>
<?php endwhile; ?>
<?php else : ?>
Not found
<?php endif; wp_reset_query(); ?>