更改无杀戮类别链接的循环

时间:2013-03-28 作者:Jonathan

好啊我将尝试重写这个。

我正在尝试将Gridly主题用作我网站的纯移动主题。

问题是,当主题为移动设备格式化时,它会将所有帖子类别拉到主提要中。

我只想让读者在主页上看到两个类别的帖子,并可以从顶部的菜单中选择其他类别。

没有首页php文件。

主题仅包括以下内容:

404模板(404.php)
注释(Comments.php)
页脚(Footer.php)
主题函数(Functions.php)
页眉(Header.php)
主索引模板(Index.php)
管理菜单标记。php管理菜单。php
页面模板(Page.php)
单个帖子(Single.php)

样式

样式表(style.css)

所以我修改了index.php 文件,以限制通过写入拉入主页的帖子类别query_posts( \'cat=79,120\' ) 循环起点上方(上方:<?php if (have_posts()) : ?> ).

这样做将主页限制为这两个类别,但当我单击菜单中的其他类别时,也会执行相同的操作。因为它在循环之外,所以它似乎覆盖了其余的规则(?)。

代码如下:(这是从索引文件中提取的)

<?php get_header(); ?>

<?php if (have_posts()) : ?>
<div id="post-area">
<?php while (have_posts()) : the_post(); ?> 

         <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
        <?php if ( has_post_thumbnail() ) { ?>
         <div class="gridly-image"><a href="<?php the_permalink() ?>"><?php the_post_thumbnail( \'summary-image\' );  ?></a></div>
          <div class="gridly-category"><p><?php the_category(\', \') ?></p></div>

          <?php } ?>
                <div class="gridly-copy"><h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
                <p class="gridly-date"><?php the_time(get_option(\'date_format\')); ?>  </p>

        <?php the_excerpt(); ?> 

               <p class="gridly-link"><a href="<?php the_permalink() ?>"></a></p>
         </div>
       </div>


<?php endwhile; ?>
</div>
<?php else : ?>
<?php endif; ?>

<?php next_posts_link(\'<p class="view-older">View Older Entries</p>\') ?>


<?php get_footer(); ?>
有人知道我如何在主页提要中只包含两个类别,而不覆盖网站其余部分的规则吗?

1 个回复
SO网友:tfrommen

好的,假设您只想限制首页的类别,但仍然在其他地方列出所有类别,只需将相应的模板文件添加到主题中:

front-page.php

<?php get_header(); ?>

<?php $my_query = new WP_Query(\'cat=79,120\'); ?>
<?php if ($my_query->have_posts()) : ?>
<div id="post-area">
    <?php while ($my_query->have_posts()) : $my_query->the_post(); ?>   
        <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
            <?php if ( has_post_thumbnail() ) { ?>
                <div class="gridly-image"><a href="<?php the_permalink() ?>"><?php the_post_thumbnail( \'summary-image\' );  ?></a></div>
                <div class="gridly-category"><p><?php the_category(\', \') ?></p></div>
            <?php } ?>
            <div class="gridly-copy"><h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
                <p class="gridly-date"><?php the_time(get_option(\'date_format\')); ?>  </p>
                <?php the_excerpt(); ?> 
                <p class="gridly-link"><a href="<?php the_permalink() ?>"></a></p>
            </div>
        </div>
    <?php endwhile; ?>
</div>
<?php next_posts_link(\'<p class="view-older">View Older Entries</p>\'); ?>

<?php get_footer(); ?>
现在,您可以完全更改头版的任何内容,而不影响其他存档。

然而,如果您真正需要更改的只是列出这两个或所有类别,那么您也可以坚持index.php, 并检查HTTP请求并执行以下操作:

if (\'/\' === $_SERVER[\'REQUEST_URI\']) {
    $my_query = new WP_Query(\'cat=79,120\');
    if ($my_query->have_posts()) :
        echo \'<div id="post-area">\';
    while ($my_query->have_posts()) : $my_query->the_post();
} else {
    if (have_posts()) :
        echo \'<div id="post-area">\';
            while (have_posts()) : the_post();
}

结束