사용자 정의 WP_Query에서 DESC, ASC로 주문
-
-
글쎄,WP_Query를 게시하여 제대로 구성되었는지 확인해야합니다.Well, you should post the WP_Query, to see if it is formed right.
- 0
- 2013-08-13
- Marin Bînzari
-
그것은 모두 영광입니다.나는 현재 그 부울 메타 값b/c를 제외하고는 그 레벨을 얻거나 작동을 정렬하는 유일한 방법이었습니다.이 사이트는 또한 '추천'게시물보다 우선하는 '헤드 라인'게시물을 사용합니다.따라서이 쿼리에서 제외합니다.There it is in all it's glory. I'm currently not ordering by anything but that boolean meta value b/c it was the only way to get that level or sorting working. The site also uses 'headline' posts which take precedence over 'featured' posts. Thus I exclude them in this query
- 0
- 2013-08-13
- ian
-
1 대답
- 투표
-
- 2013-08-13
해보기 :
$args = array( 'post_type' => 'post', 'meta_key' => 'pb_issue_featured', 'orderby' => 'meta_value', 'order' => 'DESC', 'posts_per_page' => $posts, 'paged' => $paged, 'paged' => 1, 'meta_query' => array( array( 'key' => 'headline', 'value' => 1, 'compare' => '!=' ) ) ); add_filter( 'posts_orderby', 'filter_query' ); $q = new WP_Query($args); remove_filter( 'posts_orderby', 'filter_query' ); function filter_query( $query ) { $query .= ', wp_posts.menu_order ASC'; return $query; }
Try this:
$args = array( 'post_type' => 'post', 'meta_key' => 'pb_issue_featured', 'orderby' => 'meta_value', 'order' => 'DESC', 'posts_per_page' => $posts, 'paged' => $paged, 'paged' => 1, 'meta_query' => array( array( 'key' => 'headline', 'value' => 1, 'compare' => '!=' ) ) ); add_filter( 'posts_orderby', 'filter_query' ); $q = new WP_Query($args); remove_filter( 'posts_orderby', 'filter_query' ); function filter_query( $query ) { $query .= ', wp_posts.menu_order ASC'; return $query; }
검색어에서 다단계 순서를 지정해야합니다. 문제는 SQL에서와 같이 하나의 값 DESC와 다른 ASC를 주문하는 것입니다. 다음 SQL은 터미널에서 실행할 때 원하는 것을 제공하는 것 같습니다.
pb_issue_featured
는 부울 값입니다. 내가 필요로하는 최종 결과는 맨 위에이 필드에 대해 메타 값이 1 인 게시물을 표시하는 쿼리이고 나머지는 모두 아래에 표시됩니다. 그런 다음 두 번째 계층 주문은 지정된menu_order
입니다 (포스트 유형 주문 플러그인을 사용하고 있습니다).문제는 내 부울 값을 높은 값에서 낮은 값 (1에서 0)으로 정렬해야하지만menu_order가 반대라는 것입니다. 플러그인으로 먼저 주문한 것은 메뉴 순서가 1입니다. 따라서 WP_Query에 내장 된 'orderby'를 사용하면 작동하지 않습니다. 누구에게 제안이 있습니까? 'posts_orderby'필터를 살펴 봤지만 가져 오지 못했습니다. 어디에 적용해야하는지,어떻게 문제를 해결할 수 있는지 확실하지 않았습니다. 내가 가진 방식으로 다시 주문하지 않았습니다.
도움을 주셔서 감사합니다! 관련성이 있으면 실제 WP_Query를 게시 할 것이지만 가능한 한 짧게 유지하고 싶었습니다.
검색어 인수 :