如何在查询循环中设置值?

时间:2016-11-23 作者:miken

我有一个问题:

<?php
                    $feature_big = array(
                        \'posts_per_page\'    => \'1\',
                        \'meta_key\' => $count_today,
                        \'orderby\' => \'meta_value_num\'
                    );
                    $wp_feature_big = new WP_Query( $feature_big );
                ?>
                <?php if( $wp_feature_big->have_posts() ) : while( $wp_feature_big->have_posts() ) : $wp_feature_big->the_post(); ?>
                    /----------------------------here------------------/
                <?php endwhile; endif?>
现在,我想要更改值(posts\\u per\\u page,meta\\u key,…)在“这里”。有可能吗?如何做到这一点?非常感谢。对不起,我的英语:)

1 个回复
最合适的回答,由SO网友:jgraup 整理而成

可以运行多个嵌套WP_Queries 只要你reset_postdata() 让外环回到正轨。

$query_args = array (
    \'posts_per_page\' => \'1\',
    \'meta_key\'       => $count_today,
    \'orderby\'        => \'meta_value_num\',
);

$outer_query = new WP_Query( $query_args );


while( $outer_query->have_posts() ) :

    // conditional if
    if( true ) {

        // change the query arg in the inner loop
        $query_args[ \'meta_key\' ] = \'something_else\';
    }

    // start an inner query with adjusted params
    $inner_query = new WP_Query( $query_args );

    // nested loop
    while( $inner_query->have_posts() ) :

        // ...

    endwhile;

    // After looping through a nested query, this function restores the $post global to the current post in this query.
    $outer_query->reset_postdata();

endwhile;

相关推荐

浏览器刷新时删除数据库条目,AJAX PHP jQuery

我有一个表单,在通过ajax提交表单时更新数据库表中的列。一切都很好,数据库表列可以获取信息,但一旦刷新浏览器,信息就会从数据库中删除。如果meta\\u值不存在,但meta\\u值也在提交表单时创建的数据库中,则PHP将执行数据库更新。我希望信息保留在数据库中,直到或除非meta\\u值被删除或不存在。任何见解都将不胜感激。PHPadd_action(\'wp_ajax_hide_this\', \'hide_this_by_id\'); add_action(\'wp_ajax_nopriv_