自定义页面模板类别循环无法正常运行

时间:2013-10-16 作者:dannyw24

因此,在多次尝试纠正这一点之后,页面似乎没有加载,但没有从每个类别中提取正确的帖子。每当我点击每个类别链接时,它似乎都会吸引相同的默认帖子。

我试图自定义查询,但运气不好,下面是我正在使用的代码。

<?php global $up_options, $post, $paged, $wp_query; ?>
<?php get_header(); ?>
<div id="bodywrapper">
        <?php $args = array(
            \'title_li\'           => __( \'\' ),
        ); ?>
        <div class="category-list"><?php wp_list_categories($args); ?></div>
    <div style="height: 25px"></div>

    <div id="content"> 
        <h1>Case Studies</h1>

  <?php

/* retrieves all the terms from the taxonomy portfolio */

$args = array(
    \'type\' => \'post\',
    \'orderby\' => \'name\',
    \'order\' => \'ASC\',
    \'taxonomy\' => \'category\');

$categories = get_categories( $args );

/* pulls 5 posts from each of the individual categories */

foreach( $categories as $catergory ) {
    $args = array(
    \'posts_per_page\' => 5,
    \'post_type\' => \'post\',
    \'category\' => $category->slug,
    \'no_found_rows\' => true,
    \'update_post_meta_cache\' => false,
    \'update_post_term_cache\' => false
    );
}

$the_query = new WP_Query ( $args );
    // the loop
while ( $the_query->have_posts()) : $the_query->the_post(); ?>
    <div id="post-<?php the_ID(); ?>" class="post">
                        <a href="<?php the_permalink() ?>">
                            <?php if (has_post_thumbnail()) { ?>
                                <?php the_post_thumbnail(\'thumbnail\'); ?>
                            <?php }?>
                        </a>
                        <h1 class="post-title"><a href="<?php  echo get_post_meta($post->ID, \'lj_file_url\', true) ?>" title="<?php the_title(); ?>"> <?php the_title(); ?></a></h1>
                        <div class="post-entry">
<a href="<?php echo get_post_meta($post->ID, \'lj_file_url\', true) ?>" title="Download pdf <?php the_title(); ?>"> <img src="http://www.integra-av.co.uk/wp-content/uploads/2012/04/pdflogo.png" alt="" class="alignleft"/></a>
                            <?php the_excerpt(); ?>
                        </div>
                    </div>


                      <?php endwhile;

                       ?>

 <?php // Reset Post Data
wp_reset_postdata(); ?>

                <div class="clear">
                    <?php wpld_pagenavi(); ?>
                </div>

<br/><br/><br/><br/><br/><br/>

<p style="text-align: center;"><span style="font-size: 35px;"><span style="color: #2788e4;">Secure Solutions</span></span></p>
    </div>
    <?php get_footer(); ?>
这里有一个指向我正在处理的当前页面的链接here

1 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

你的foreach 过早关闭。

foreach( $categories as $catergory ) {

    // query args
    $args = array(
        // args
    );
}

// generate the loop
$the_query = new WP_Query ( $args );

// output the loop
while ( $the_query->have_posts()) : $the_query->the_post(); 
    // Loop markup
endwhile;

wp_reset_postdata();
你是说:

逐步完成每个类别;对于每个类别,将查询结果添加到$the_query.$the_query因此,只能显示中最后一个类别的循环$categories.

相反,您需要将循环输出放在foreach 回路:

foreach( $categories as $catergory ) {

    // query args
    $args = array(
        // args
    );

    // generate the loop
    $the_query = new WP_Query ( $args );

    // output the loop
    while ( $the_query->have_posts()) : $the_query->the_post(); 
        // Loop markup
    endwhile;

    wp_reset_postdata();
}
这样,就可以为每个类别输出一个循环,而不仅仅是最后一个类别。

结束

相关推荐

Grouping categories by genre

我的wordpress视频博客有几个类别。假设该类别可以分为几个类别,例如动作、恐怖、神秘,另一个类别属于动作、恐怖、浪漫如何将类别分为不同的类型?因为在最基本的结构中,我们将帖子分类。现在我想把类别分成不同的类别然后可以通过url(例如)在流派中显示类别http://www.domain.com/genre/actions 它将列出其中的所有类别。下面是一个具有此功能的示例站点http://www.anime44.com/anime-genre/Fantasy