programing

메타 값이 포함된 워드프레스 게시물 주문하기

lovejava 2023. 10. 11. 20:22

메타 값이 포함된 워드프레스 게시물 주문하기

저는 이 코드를 아래에 가지고 있는데, 이 코드는 기본적으로 4개의 링크를 만들어서 프론트 엔드에서 게시물을 정렬할 수 있도록 합니다.

        <div class="sort">
            Sort projects by:
            <a href="http://mydomain.com/find-work/" >Latest Projects</a>
            <a href="http://mydomain.com/find-work/?order=asc&orderby=date" >Ending Soon</a>
            <a href="http://mydomain.com/find-work/?order=asc&orderby=meta_value_num&meta_key=proj_budget" >Budget Low</a>
            <a href="http://mydomain.com/find-work/?order=desc&orderby=meta_value_num&meta_key=proj_budget" >Budget High</a>
        </div>

        <?php   $my_query = new WP_Query( array( 
                        'post_type' => 'project',
                        'orderby' => get_query_var('orderby'),
                        'order' => get_query_var('order'),
                        ));      
                while ( $my_query->have_posts() ) : $my_query->the_post(); ?>

두 번째 링크인 날짜별 주문은 정상 작동하지만 메타 값별 주문에 대한 두 링크는 작동하지 않습니다.나는 분명히 내 질문에서 무언가를 놓치고 있지만 평생 그것을 해결할 수 없습니다.

무슨 생각 있어요?

메타 가치가 있는 약간의 마법 같은 것입니다.

$my_query = new WP_Query( array( 
                    // 'post_type' => 'project',
                    'meta_key' => 'proj_budget',
                    'orderby' => 'meta_value_num'
                    ));      

가능한 모든 값은 코덱스로 설명됩니다. http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters

아주 간단합니다.

new WP_Query( array( 
              //I used meta_value_num below, because it's about a numeric field
              //if you don't have a numeric field, just use meta_value
              "orderby" => 'meta_value_num',
              "meta_key" => 'price',
              "order" => 'DESC'
              ));

언급URL : https://stackoverflow.com/questions/11100473/ordering-wordpress-posts-with-meta-values