2

在过去的三天里,我一直在尝试使用以下代码在 Loop 之外获取帖子的摘录:

1) <?php the_excerpt(); ?>
2) the_excerpt();
3) <?php get_the_excerpt(); ?>
4) get_the_excerpt();
5) '.apply_filters('the_excerpt',get_the_excerpt()).'

以上都不起作用,我认为这是因为我试图将摘录放在循环之外。一些在插件页面上生成的文本,一些在不同的位置破坏了我的主题,还有一些完全没有做任何事情。我什至用谷歌搜索了从循环外部获取摘录的方法,但是对于其中大多数,您必须输入post_id要从中摘录的内容。

这是应该输出异常的完整代码。我列出了我认为摘录应该放在哪里的 div “摘录”:

private function cg_get_title($single) {
    global $cg_url;
    if($this->params['title']) {
        $title_array = get_post_meta($single->ID, $this->params['title']);
        $title = $title_array[0];
        if(!$title) {
            $title = $single->post_title;
        }
    }
    else {
        $title = $single->post_title;
    }
    $returnlink = ($this->params['lightbox']) ? ('"' . $cg_url . '/includes/CatGridPost.php?ID=' . $single->ID . '" class="cgpost"') : ('"' . get_permalink($single->ID)) . '"';
    $cgfontsize = $this->cg_get_font_size();
    $cgtitle = '<div class="cgback cgnojs ' . $this->params['showtitle'] . '"></div><div class="cgtitle cgnojs '
            . $this->params['showtitle'] . '"><p style="font-size:' . $cgfontsize . 'px;line-height:' . (1.2 * $cgfontsize) . 'px;">
            <a href=' . $returnlink . '>' . $title . '</a></p><DIV ID="EXCERPT">EXCERPT SHOULD GO HERE</DIV></div>';
    return $cgtitle;
}

再说一次,我现在真的不知道该去哪里,所以我来到了这里。有没有人可以帮助我用这个插件显示每篇文章的摘录?

4

2 回答 2

4

$post->post_excerpt假设您有一个帖子对象,您可以使用 获取未过滤的帖子摘录。在上面的代码中,您需要调用:

$excerpt = apply_filters('get_the_excerpt', $single->post_excerpt);
于 2012-11-04T23:37:02.663 回答
4

我正在使用以下函数,它通过 $post_id 获取帖子,如果它在 admin 中设置了摘录,则返回它,如果没有,它使用 WordPress 函数生成它。我喜欢它,因为这样创建的摘录尊重您的 WP 设置,并且将具有与以标准方式在循环中创建的其他摘录相同的样式。

function my_excerpt($post_id) {
    $post = get_post($post_id);
    if ($post->post_excerpt) {
        // excerpt set, return it
        return apply_filters('the_excerpt', $the_post->post_excerpt);

    } else {
        setup_postdata( $post );
        $excerpt = get_the_excerpt();
        wp_reset_postdata();
        return $excerpt;
    }
}
于 2015-04-01T05:58:17.727 回答