wp_query - 显示为此类别撰写帖子的所选类别的所有作者

时间:2015-09-23 08:22:36

标签: php wordpress wp-query

我需要你的帮助,我是wp_query的新手 而且我不知道我怎样才能展示为此类别撰写帖子的所选类别的所有作者。 所以这意味着我在我的页面上例如:爱好 然后我想展示这个类别的所有帖子以及撰写此帖子的作者。

我搜索了这么多,发现了类似的东西但不是我需要的东西> _> https://wordpress.stackexchange.com/questions/134347/how-to-query-posts-from-specific-authors-and-categories-using-wp-query

希望我的意思很清楚?

希望你能帮帮我:)。

编辑:

好的,谢谢!我在我的代码上尝试了代码,但我的网站上没有任何内容:,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:

我的英文不好,你真的不明白我的意思:/ 我不知道如何更好地解释我的问题:(

我调试了arr $ 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)

1 个答案:

答案 0 :(得分:1)

您需要自定义WP query

分解:

  1. 你需要知道你在哪个帖子(以及它有什么类别)
  2. 然后查询所有帖子的类别
  3. 并从这些帖子中获取作者。
  4. 所以

    $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),
        )
    )
    );
    

    然后在foreach

    post category
    get_the_author_id();
    

    或类似的东西。