用摘录替换完整内容

时间:2013-01-02 作者:hyperexpert

我的主题在主页上显示完整的帖子,我希望它只显示摘要,我尝试在主题的索引中搜索\\u内容标记。php文件,但它甚至不存在<我没有家。php或类别。php。我尝试在我的整个wordpress安装中搜索\\u内容,我只能在页面中找到它。php,即使在那里进行更改,它也不会真正起作用。

我在我的主题格式(image.php、audio.php…)中找到它的其他地方但是在那里更改它会使帖子显示摘要,即使你点击它并进入帖子内部。

我的索引。php文件包含以下内容:

<?php if (have_posts()) : while (have_posts()) : the_post(); $format = get_post_format();  ?>

  <?php if($format == \'\'): ?>

    <?php get_template_part(\'library/functions/theme/formats/standar\'); ?>


  <?php else: ?>

    <?php get_template_part(\'library/functions/theme/formats/\'.$format); ?>

  <?php endif; ?>

<?php endwhile ?>
我是否需要在那里做一些具体的事情来完成这项工作?

2 个回复
最合适的回答,由SO网友:fuxia 整理而成

决定关于the_excerpt()the_content() 有条件的:is_singular().

您可以使用plugin 和过滤器the_content 根据当前页面的类型:存档或单数。但你也可以在你的主题中使用它。

add_filter( \'the_content\', \'t5_replace_content_with_excerpt\', 100 );

/**
 * Return excerpt if we are not on a singular post view.
 *
 * @param  string $content
 * @return string
 */
function t5_replace_content_with_excerpt( $content )
{
    if ( is_singular() )
    {
        return $content;
    }
    // remove our filter temporarily.
    // Otherwise we run into a infinite loop in wp_trim_excerpt().
    remove_filter( \'the_content\', __FUNCTION__, 100 );
    $excerpt = apply_filters( \'the_excerpt\', get_the_excerpt() );
    add_filter( \'the_content\', __FUNCTION__, 100 );
    return $excerpt;
}
在你的主题中找到你要呼叫的线路the_content(). 将其更改为:

is_singular() ? the_content() : the_excerpt();

SO网友:jhoffmcd

你的主题是什么?

此处的这段代码:

<?php get_template_part(\'library/functions/theme/formats/standar\'); ?>
似乎表明你的指数。php正在调用模板include。若找到了正确的文件(很可能位于formats/standar目录中),并将显示\\u content()的位置替换为\\u摘录(),则应该看到加载的是摘要,而不是完整内容。这将修改一个不推荐使用的核心主题文件,因此,在不了解更多关于主题的信息以及这是否可以覆盖的情况下,我会说,请自行承担风险。

结束