我的索引中有一个循环。php用于我的主页,如下所示。。。
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
我有一个按升序日期查询帖子的功能。。。function order_home_asc($query) {
if ($query->is_home() && $query->is_main_query()) {
$query->set(\'orderby\', \'date\');
$query->set(\'order\', \'asc\');
}
}
add_action(\'pre_get_posts\', \'order_home_asc\');
我被告知以上是查询帖子的最佳方式。现在,我想通过特定的帖子元键(“job\\u status”)和值(“open”)以及日期和asc查询这些帖子。
我试过了,但没用。。。
function order_home_asc($query) {
if ($query->is_home() && $query->is_main_query()) {
$query->set(\'orderby\', \'date\');
$query->set(\'order\', \'asc\');
$query->set(\'meta_query, array(
array( \'key\', \'job_status\', \'value\', open, \'compare\', \'!=\' )
)
}
}
add_action(\'pre_get_posts\', \'order_home_asc\');
如果有一个更简单的解决方案,而不需要函数,那就太好了。这和我的回路一样好吗?
<?php
$args = array( \'posts_per_page\' => 10, \'order\'=> \'ASC\', \'orderby\' => \'title\', \'meta-key\' => \'job_status\',\'meta_value\' => \'open\' );
$postslist = get_posts( $args );
foreach ( $postslist as $post ) :
setup_postdata( $post ); ?>
<?php the_title(); ?>
<?php
endforeach;
wp_reset_postdata();
?>