我正在尝试设置一个搜索页面,首先显示一个包含所有帖子的循环,其中自定义字段meta\\u键为“seek\\u premium”,其中meta\\u值为“yes”,然后是第二个循环,其中meta\\u值(相同的meta\\u键)为空。大部分情况下我都能做到,但我的做法似乎打破了默认的搜索功能,因为如果我进行搜索,无论帖子是否包含搜索查询,我最终会在第一个循环中看到所有标记为“seek\\u premium”的帖子,在第二个循环中看到所有“seek\\u premium”为空的帖子。这是我的代码:
<?php if ( have_posts() ) : ?>
<h1>My Heading</h1>
<?php
$premium_query = new WP_Query( array( \'meta_key\' => \'seek_premium\', \'meta_value\' => \'yes\' ) );
while ( $premium_query->have_posts() ) : $premium_query->the_post();
$seekpremium = get_post_meta( $post->ID, \'seek_premium\', true );
?>
SHOW PREMIUM POSTS
<?php endwhile; ?>
<?php
$free_query = new WP_Query( \'post_per_page=50\' );
while ( $free_query->have_posts() ) : $free_query->the_post();
$seekpremium = get_post_meta( $post->ID, \'seek_premium\', true );
if ( !empty( $seekpremium ) )
continue;
?>
SHOW FREE POSTS
<?php endwhile; ?>
<?php else : ?>
<?php include ( TEMPLATEPATH . "/unknown.php" ); ?>
<?php endif; ?>
有人有什么想法吗?我看到了一些关于使用$is\\u search作为参数的内容,但要么没有正确实现它,要么我的查询有其他错误。。。