我的侧栏中有以下代码。php文件:
<ul class="list-posts">
<?php
$lastposts = get_posts(\'numberposts=5&orderby=date&cat=-52\');
foreach($lastposts as $post) :
setup_postdata($post);
$page_name = $wp_query->post->post_name;
if (is_page_template(\'news-page.php\')) { ?>
<p>yes!</p>
<?php } else { ?>
<li<?php if ( $post->ID == $wp_query->post->ID ) {
echo \' class="current"\'; } else {} ?>>
<a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
</li>
<?php } ?>
<?php endforeach; ?>
</ul>
其目的是,如果边栏出现在模板以外的任何页面中
news-page.php
, 它执行列出类别内所有帖子的代码。如果没有,则打印
<p>yes!</p>
(此代码将更改-它只是一个占位符atm)。
老实说,我没有嫁给is_page_template
, 但我试过了is_page
, the_title
和wp_title
, 所有这些似乎都没有输出<p>yes</p>
.
我是不是走错了方向?是不是因为它在侧边栏中查找页面模板,所以无法正常工作。php?
我是WP的新手,所以非常感谢您的具体建议!MTIA。
编辑:
好吧,这真的很奇怪。我在代码中添加了“get\\u page\\u template”,这样我就可以准确地看到它使用的是哪个模板,而不是使用新闻页面。php,尽管我已经在管理区域中指定了它。
我创建了一个新页面,还使用了新闻页面。php作为模板。同样,当我查看页面时,它不会使用新闻页面。php作为模板。
在这两种情况下,使用的模板都是“todaysmenu页面”。php’。我已在这两个文件中检查是否指定了正确的模板名称。它们是:
<?php
/*
Template Name: Todays menu page
*/
?>
以及
<?php
/*
Template Name: News page
*/
?>
我是否完全错过了什么?我需要刷新db还是什么?
编辑编号2:
所以这个页面肯定是在使用新闻页面。然而,php是侧栏。php仍在输出使用的模板是今天的菜单页。php。
那为什么不呢is_page_template
说出正确的模板?
编辑编号3:
回答:我把query_posts
在错误的地方。非工作代码:
<?php get_header(); ?>
<?php
query_posts(\'cat=4\');
if (have_posts()) : while (have_posts()) : the_post();
?>
<div id="content-wrap">
<div id="side-column"><?php get_sidebar(); ?></div>
<div id="content-column">
<h2>News</h2>
<article>
<h3><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h3>
<div class="entry-content">
<?php the_excerpt(); ?>
<?php wp_link_pages(array(\'before\' => \'Pages: \', \'next_or_number\' => \'number\')); ?>
</div>
</article>
<?php endwhile; endif; ?>
</div><!--content column-->
</div><!--content wrap-->
<?php get_footer(); ?>
工作代码:
<?php get_header(); ?>
<div id="content-wrap">
<div id="side-column"><?php get_sidebar(); ?></div>
<div id="content-column">
<h2>News</h2>
<?php
query_posts(\'cat=4\');
if (have_posts()) : while (have_posts()) : the_post();
?>
<article>
<h3><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h3>
<div class="entry-content">
<?php the_excerpt(); ?>
<?php wp_link_pages(array(\'before\' => \'Pages: \', \'next_or_number\' => \'number\')); ?>
</div>
</article>
<?php endwhile; endif; ?>
</div><!--content column-->
</div><!--content wrap-->
<?php get_footer(); ?>
谢谢大家的建议和评论!