按自定义字段订购 Wordpress 自定义帖子

Order Wordpress custom posts by custom feilds

我正在尝试按自定义字段订购自定义 post。这是我的代码。

$paged = get_query_var('paged') ? get_query_var('paged') : 1; 
$args = array(  
    'post_type' => 'pql_Servay',
    'paged' => $paged,
    'post_status' => 'publish',
    'posts_per_page' => 2, 
    'orderby' => 'meta_value',
    'orderby'   => 'meta_value_num',
    'meta_key'  => 'question_order',
    'order' => 'ASC'
);

此代码适用于在单个页面上显示所有 post。但是我想每页显示一个post。

我正在使用此代码获取下一个 post 页面 link。

<a href="<?php echo get_next_posts_link(); ?>">Next Post</a>

但是当我单击此 link 时,下一页还显示第一个 post。简而言之,下一个 post 在第一页上显示相同的 post。

我正在创建一个简码来显示这些 posts。

这是完整的简码

<?php 

add_shortcode( 'PreQualifyingLeads', 'PreQualifyingLeads_shortcode');

function PreQualifyingLeads_shortcode(){

    $paged = get_query_var('paged') ? get_query_var('paged') : 1; 
    $args = array(  
        'post_type' => 'pql_Servay',
        'paged' => $paged,
        'post_status' => 'publish',
        'posts_per_page' => 2, 
        'orderby' => 'meta_value',
        'orderby'   => 'meta_value_num',
        'meta_key'  => 'question_order',
        'order' => 'ASC'
    );

    ?>
    <div class="pql-wrapper">
        <div class="title-wrapper">
            <h2>This is page  Title </h2>
        </div>
        <div class="Question-Wrapper">
            <?php 
                $loop = new WP_Query( $args );
                if($loop->have_posts()){

                    while ( $loop->have_posts() ) {
                     $loop->the_post(); 
                    echo  the_title( ).'<br>';
                    }
                }

                wp_reset_postdata(  );             
            ?>

            <a href="<?php echo get_next_posts_link()?>">Next Post</a>


        </div>
    </div>
    <?php
}

您需要在查询中添加分页参数,如下所示:

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
'paged' => $paged

您的 wp 查询应如下所示:

$paged = get_query_var('paged') ? get_query_var('paged') : 1; 
$args = array(  
    'post_type' => 'pql_Servay',
    'paged' => $paged
    'post_status' => 'publish',
    'posts_per_page' => 1, 
    'orderby' => 'meta_value',
    'orderby'   => 'meta_value_num',
    'meta_key'  => 'question_order',
    'order' => 'ASC'
);

试试这可能是它的 运行

$args = array(  
    'post_type'      => 'pql_Servay',
    'paged'          => $paged
    'post_status'    => 'publish',
    'posts_per_page' => 1,
    'orderby'        =>   array(
      'question_order'=>'ASC
     )
 );