2015-09-23 3 views
2

Мне нужна ваша помощь, я новичок на wp_query , и я не знаю, как я могу показать всех авторов в выбранной категории, которые писали Posts for this этой категории. Так что это означает, что я иду на свою страницу, например: Hobbies , тогда я хочу показать все сообщения с этой категорией и те авторы, которые написали это сообщения.wp_query - показать всех авторов в этой категории

Я искал так много, и нашел что-то вроде этого, но его не то, что мне нужно> _> https://wordpress.stackexchange.com/questions/134347/how-to-query-posts-from-specific-authors-and-categories-using-wp-query

Надеется, что это ясно, что я имею в виду?

Надеется, что вы можете помочь мне :)

EDIT:

ах хорошо спасибо! Я попробовал код на своем коде, но ничего не случилось на моем сайте:, D

что я не так? :/

<?php 
    $get_cat_id = get_the_category(); 

    $args = array(
     'paged' => $paged, 
     'tax_query' => array(
      array(
       'taxonomy' => 'category', 
       'field' => 'id', 
       'terms' => array ($get_cat_id), 
      ) 
     ) 
    ); 
    $the_query = new WP_Query($args); 

    //the loop 
    $firstEntry = true; 
    if ($the_query -> have_posts()) { 
     while ($the_query -> have_posts()) { 
      echo $firstEntry ? '<article class="active">' : '<article>'; 
      $firstEntry = false; 
      $the_query -> the_post(); 
      $last = get_the_author_meta('last_name'); 
      $first = get_the_author_meta('first_name'); 
      echo '<h3 class="author"><a href="'. get_the_author_meta('display_name') . '">' . $first . " " . $last . '</a></h3>'; 
      echo '<img src="<?php echo $template_uri; ?>/img/author_mini.jpg" alt="THOMAS SCHRÖDER" class="thumb-round">'; 
      echo '</article>'; 
     } 
    } else { 
     // no posts found 
    } 

?> 

EDIT2:

Ok СРЮ за мой плохой английский, и что вы действительно не понимаете, что я имею в виду:/ я не знаю, как я могу лучше explane мою проблему :(

я отладить обр $ the_query и это какой-то выход из него

object(WP_Query)[2458] 
public 'query' => 
array (size=1) 
'tax_query' => 
array (size=1) 
0 => 
array (size=3) 
... 
public 'query_vars' => 
array (size=62) 
'tax_query' => 
array (size=1) 
0 => 
array (size=3) 
... 
'error' => string '' (length=0) 
'm' => string '' (length=0) 
'p' => int 0 
'post_parent' => string '' (length=0) 
'subpost' => string '' (length=0) 
'subpost_id' => string '' (length=0) 
'attachment' => string '' (length=0) 
'attachment_id' => int 0 
'name' => string '' (length=0) 
'static' => string '' (length=0) 
'pagename' => string '' (length=0) 
'page_id' => int 0 
'second' => string '' (length=0) 
'minute' => string '' (length=0) 
'hour' => string '' (length=0) 
'day' => int 0 
'monthnum' => int 0 
'year' => int 0 
'w' => int 0 
'category_name' => string 'allgemein' (length=9) 
'tag' => string '' (length=0) 
'cat' => int 1 
'tag_id' => string '' (length=0) 
'author' => string '' (length=0) 
'author_name' => string '' (length=0) 
'feed' => string '' (length=0) 
'tb' => string '' (length=0) 
'paged' => int 0 
'comments_popup' => string '' (length=0) 
'meta_key' => string '' (length=0) 
'meta_value' => string '' (length=0) 
'preview' => string '' (length=0) 
's' => string '' (length=0) 
'sentence' => string '' (length=0) 
'fields' => string '' (length=0) 
'menu_order' => string '' (length=0) 
'category__in' => 
array (size=0) 
+0

вам необходимо отформатировать код в формате SO. google, как это сделать, если вы не уверены. – ChelseaStats

+0

выполните некоторую отладку - вы знаете некоторые «PHP» правильно? сначала попробуйте этот материал -> http://blog.teamtreehouse.com/how-to-debug-in-php – ChelseaStats

+0

там много кода. возможно, начните с меньшего количества. просто покажите имена авторов, затем добавьте остальные потом. не уверен '$ the_query -> the_post();' поможет вам в цикле while. также посмотрите на WordPress Codex – ChelseaStats

ответ

1

вам нужно сделать пользовательские WP query.

разбить его:

  1. Вы должны знать, какую должность вы на (и какой категории она имеет)
  2. затем запросить категорию для всех сообщений
  3. и от этих сообщений получить автор.

так

$get_cat_id = get_the_category(); 

$query = new wp_query($arr); 
$arr = array(
    'paged' => $paged, 
    'tax_query' => array(
    array(
    'taxonomy' => 'category', 
    'field' => 'id', 
    'terms' => array ($get_cat_id), 
    ) 
) 
); 

затем foreachpost в category

get_the_author_id(); 

или что-то подобное.

+0

, поэтому я проверяю массивы и так далее, но я не знаю, почему он не работает .. есть где-то проблема с «if ($ the_query -> has_posts())» , потому что он уходит даже не чисто в этом случае ... но почему? ..:/ – Niki

+0

Итак, вы проверили с помощью var-dump, получили ли вы данные или нет? , Я не понимаю, что вы говорите. Добавьте к своему вопросу часть вывода.Вам нужно прочитать код и понять, имеет ли запрос сообщений. – ChelseaStats

+0

да, я делаю, я пишу это сверху EDIT2, sry для моего плохого английского: / – Niki

Смежные вопросы