2013-11-24 5 views
0

해당 페이지에 나타나는 작성자가 사용자 정의 게시 유형을 호출하는 author.php 페이지를 만들려고합니다. 내 문제는 게시물 유형 '비디오'에 대한 필터 인 아래의 코드를 사용할 때 코드가 '비디오'뿐만 아니라 모든 사용자 정의 게시물 유형을 출력한다는 것입니다. 주의해야 할 점은 어레이의 제작자 키와 변수 'author' => $author을 제거한 다음 코드가 원하는 사용자 정의 게시 유형 '비디오'를 출력하도록 허용하지만 모든 작성자가 허용하도록하는 것입니다. 이 문제를 해결하는 방법에 대한 아이디어가 있습니까?저자 키 및 사용자 정의 게시 유형

코드 사용 :

<?php 
    $args = array(
     'post_type'  => array('audio'), 
     'posts_per_page' => 10, 
     'author'   => $author 
    ); 


    $author_videos = new WP_Query($args); 

    if ($author_videos->have_posts()) : while ($author_videos->have_posts()) : $author_videos->the_post(); ?> 
      <p><a href="<?php echo get_permalink(); ?>"><?php the_title(); ?></a></p>  
     <?php endwhile; 
      wp_reset_postdata(); 
endif; ?> 
+0

이 답변을 찾으셨습니까? 나는 키워드 검색 쿼리를 실행할 수있는 유사한 문제를 겪고 있으며 모든 사용자 정의 게시 유형을 표시하지만 단일 작성자와 단일 CTP에 대한 쿼리도 실행해야합니다. 예를 들어 Joe의 모든 블로그 -이 정보를 찾을 수 없습니다. . 최근에 게시 된 질문에 대한 자세한 내용은 http://stackoverflow.com/questions/21637517/combined-search-for-author-custom-post-type/21649345 – user2591811

답변

0

새로운 WP_Query에 대한 필요가 없습니다, 당신은 pre_get_postsauthor.php의 기본 쿼리를 수정할 수 있으며, functions.php에 다음을 넣어 :

add_action('pre_get_posts','so20175501_pre_get_posts'); 
function so20175501_pre_get_posts($query) { 
    if (! is_admin() && $query->is_main_query()) { 
     if ($query->is_author) { 
      $query->set('post_type', 'video'); 
     } 
    } 
} 
+0

여기에 비슷한 문제가 있습니다. 저자 및 단일 사용자 정의 게시물 유형 (예 : joe의 모든 블로그) : http://stackoverflow.com/questions/21637517/combined-search-for-author-custom-post-type/21649345 위 권장 사항을 시도했지만 그렇지 않습니다. 나를 위해 일하지 마라. 다른 권장 사항이 있습니까? 자세한 내용은 내 자신의 질문에 있습니다. 고맙습니다. – user2591811

0

을 제가했습니다 방금이 문제를 해결하기 위해 노력한 결과 저자 ID에 대해 author__in을 단일 값 배열로 사용하면 WP_Query가 다르게 처리하여 t 그는 결과를 바로 잡는다.

$args = array(
    'post_type'  => array('audio'), 
    'posts_per_page' => 10, 
    'author__in'   => array($author) 
); 
관련 문제