2013-05-30 2 views
0

나는 다음과 같은 코드 조각이 :워드 프레스 - 주문 사용자 정의 포스트 유형으로 사용자 정의 분류

$args = array('post_status'=>"publish", 
'posts_per_page' => 20, 
'post_type'=>"equipment", 
'orderby'=>"title", 
'order'=>"ASC"); 

$postslist = get_posts($args); 

foreach ($postslist as $post) : setup_postdata($post); ?> 

이 모두 잘 작동하지만, 내가 뭘하고 싶은 것은하여 게시물의 순서를 지정할 수하는 것입니다 맞춤 분류 내 카테고리

이것이 가능합니까?

카테고리 배열을 사용하려고했지만 행운이 없었습니다.

모든 정보를 제공하기 위해 내 맞춤 분류학을 'equipcats'라고하며 여기 아래에 몇 가지 카테고리가 있습니다. '비주얼', '무대', '조명', '사운드'... 그것은 현재 게시물의 순서를 의미하므로 순서가 될 것 상승 등의 순으로 표시됩니다으로

:

  • 조명
  • 사운드
  • 단계
  • 비주얼 내가 뭘하고 싶은 것은 그래서,이 순서를 통해 엄격한 통제를 할 수있을 것입니다

예를 들면 :

  • 단계
  • 비주얼
  • 조명
  • 사운드

모든 도움이 크게 감사합니다.

답변

1

기본적으로 아래 코드는 조건 테이블을 쿼리에 포함시키고 범주로 제한하고 범주 ID별로 정렬하기 위해 "조인"절을 추가하는 필터를 설정합니다. 그런 다음 기존 쿼리 변수 (예 : 페이지 번호 등)를 사용하여 다시 쿼리합니다.

<?php add_filter('posts_join', create_function('$a', 'global $wpdb; return $a . " INNER JOIN $wpdb->term_relationships ON ($wpdb->posts.ID = $wpdb->term_relationships.object_id) INNER JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id) ";')); 
     add_filter('posts_where', create_function('$a', 'global $wpdb; return $a . " AND $wpdb->term_taxonomy.taxonomy = \'category\'";')); 
     add_filter('posts_orderby', create_function('$a','global $wpdb; return "$wpdb->term_taxonomy.term_id DESC";')); 
    query_posts(''); 
?> 
<?php while (have_posts()) : the_post() ?> 
+0

답장을 보내 주셔서 감사합니다.하지만이 코드를 현재 코드에 통합하는 방법은 무엇입니까? – Johnny

+1

사용 query_posts(); 함수를 실행 한 다음 루프를 실행하기 전에이 필터를 추가하십시오. – Bilal

+0

http://codex.wordpress.org/Function_Reference/query_posts – Bilal

관련 문제