来自模板标签的奇怪行为

时间:2011-09-08 作者:Mild Fuzz

我的一些模板标签出现了问题,让我感到困惑。

在一个已经运行了一年多没有任何这些问题的站点上,在所有具有自定义查询循环的页面上,the_content() 正在重复第一个条目。我用echo get_the_cotent($post->ID), 我认为这是完全等效的,它解决了问题。

现在,我有一个非常类似的问题与另一个网站。尝试从子页面获取和显示内容时,我有以下代码块:

global $post;
$my_wp_query = new WP_Query();
$all_wp_pages = $my_wp_query->query(array(\'post_type\' => \'page\'));
$children = get_page_children($post->ID,$all_wp_pages);
foreach($children as $child){

    ?>
    <div class="childPage">
    <h3><?php the_title($child->ID); ?></h3>
    </div>  
    <?php
}
但这只是重复父页面的标题。

但是,如果我替换the_title 具有echo get_the_title( is按预期工作。

我只是假设这些都是可比较的问题,它们肯定有类似的症状和解决方案。

1 个回复
SO网友:Doug

Post ID为not 中的参数the_title() (see Codex article). 接受的参数包括:

the_title( $before, $after, $echo );
看看source code. 功能the_title() 呼叫get_the_title() 没有参数,但是get_the_title() 将Post ID作为其唯一的参数。如果您希望查询中的帖子/页面的标题不是当前的,请使用echo get_the_title(....

Edit: 顺便说一句,Post ID是两者的参数the_content() 也没有get_the_content().

结束

相关推荐

Enable page templates. How?

基本问题,但我想启用页面模板。我有一个启用了页面模板的主题。我切换到了另一个模板,但没有更改模板的选项,即使在创建新页面时也是如此。如何打开此选项?我在抄本和论坛上找到了根,但找不到。