好吧,我刚刚做了点什么,这应该可以,但它还没有经过测试。
<?php
$premium_args = array(
\'post_status\' => \'publish\',
\'meta_query\' => array(
array(
\'key\' => \'seek_premium\',
\'value\' => \'yes\'
)
)
);
$premium_posts = new WP_Query( $premium_args );
?>
<?php foreach( $premium_posts as $p ) : ?>
Your output here
<?php endforeach; ?>
<?php
$free_args = array(
\'post_status\' => \'publish\',
\'meta_query\' => array(
array(
\'key\' => \'seek_premium\',
\'value\' => \'yes\',
\'compare\' => \'!=\'
)
)
);
$free_posts = new WP_Query( $free_args );
?>
<?php foreach( $free_posts as $p ) : ?>
Your output here
<?php endforeach; ?>
<?php if( 0 == count( $premium_posts ) && 0 == count( $free_posts ) ) : ?>
No results
<?php endif; ?>
我还觉得这比您当前的代码更容易阅读和遵循,因此如果您能同时使用这两种代码,通常最佳做法是使用可读性最好的代码。当然,有了它,您可以实现
have_posts()
诸如此类,但我只是想了解一下一般的想法,即使用meta\\u查询。