好啊我将尝试重写这个。
我正在尝试将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(); ?>
有人知道我如何在主页提要中只包含两个类别,而不覆盖网站其余部分的规则吗?
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();
}