使用wpdb查询显示摘录后

时间:2014-02-13 作者:Preston

我正在使用一个问题的代码的修改版本(Get WordPress Posts Grouped by Month) 按年度对我的帖子进行分组。

一切都很好,但我很难在帖子中显示帖子摘录。这是我当前的代码:Pastebin

我可以在查询和输出中使用post\\u内容代替post\\u摘录来显示帖子内容,但摘录不想显示出来。我也试过使用the_excerpt(); 以及其他检索摘录的方法,但运气不佳。

我感谢你的帮助。

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

我猜你post_excerpt 字段为空,您需要从post_content.

我同意@t f使用一般WP_Query(), have_post(), the_post(), the_excerpt() 循环方法。

我只想提一下WordPress很方便wp_trim_words() 可用于缩短文本字符串的函数。

在循环之外,还可以创建wp_trim_excerpt():

function my_trim_excerpt( $text, $length = 55, $more = \' […]\'  )
{
     $text = strip_shortcodes( $text );
     $text = apply_filters( \'the_content\', $text );
     $text = str_replace(\']]>\', \']]>\', $text);

     $excerpt = wp_trim_words( $text, $length, $more );
     return $excerpt;
}
在什么地方可以这样使用它:

echo my_trim_excerpt( $mylongtext );

echo my_trim_excerpt( $mylongtext, 40, \' […]\' );
因此,如果您的文本是:

培根ipsum dolor sit amet drumstick turducken牛里脊培根,jowl-tail香肠火腿飞节侧小腿猪肉kielbasa牛肉汉堡leberkas。舌头牛肉排骨火腿汉堡包肥猪肉夹馍猪肚肩比尔顿香肠嫩里脊猪波切塔牛。Kielbasa kevin leberkas短腰肉andouille猪肉。猪肚猪肉短排骨培根肉干鹿肉,排骨胸脯香肠侧翼。Kielbasa salami火腿节leberkas doner。香肠牛肉里脊鹿肉doner chuck。香肠牛肉舌、chuck猪火鸡猪肉landjaeger porchetta猪肉肚biltong tri-tip。

然后:

echo my_trim_excerpt( $longbacontext, 10, \' [enough bacon]\' );
将其缩短为:

培根ipsum dolor sit amet drumstick turducken牛里脊培根,jowl[足够的培根]

SO网友:tfrommen

您真的应该使用本机WordPress函数(WP_Query, have_posts, the_post the_excerpt 等等)!

但是,如果您想坚持当前的方法,您可能需要这样做:

echo apply_filters(\'the_excerpt\', $theid->post_excerpt);

SO网友:Mayeenul Islam

我用另一种方式做了。我传递了post ID以获取帖子,然后从中获取post\\u摘录。最后检查是否有任何集合摘录?如果是,则显示摘录,如果未设置,则显示帖子内容,但使用wp_trim_words().

<?php
//Post ID is stored in $post_id, was grabbed from a custom $wpdb query
$queried_post = get_post( $post_id ); //get the specific post only
$queried_excerpt = $queried_post->post_excerpt; // the excerpt
$queried_content = $queried_post->post_content; // the content
echo empty( $queried_excerpt ) ? wp_trim_words($queried_content, 20) : $queried_excerpt;
?>

SO网友:Jaykumar Patil

使用

<?php echo $theid->post_excerpt; ?>
而不是

<?php echo $theid->the_excerpt; ?>
为此,您必须在post editor中输入摘录metabox中的摘录文本。如果这样做,则只有摘录值存储在wp\\U posts表的post\\U摘录字段中。

结束

相关推荐

Pagination and Related Posts

是否可以对嵌入在single中的以下相关POST代码使用分页。我的主题的php。 <?php // for use in the loop, list 5 post titles related to first tag on current post $tags = wp_get_post_tags($post->ID); if ($tags) { $first_tag = $