如果帖子没有特色图片(Wordpress),则显示较长的摘录


Display longer excerpt if post does not have a featured image (Wordpress)

我一直在谷歌上搜索这个,但没有结果。

我有一堆帖子。但是它们都没有特色图像。所以我想如果所有帖子仍然具有相同的高度,看起来会更好。

如果帖子中没有特色图片,是否可以显示更长的摘录?

好的,这就是代码现在的样子:

 /**
 * Set the post excerpt length to 40 words.
 * @param int $length The number of excerpt characters.
 * @return int The filtered number of characters.
 */
function twentyeleven_excerpt_length( $length ) {
return 40;
}
add_filter( 'excerpt_length', 'twentyeleven_excerpt_length' );

也许某种 if 语句可以解决问题?你知道的:

if (featuredimage = true) {
function twentyeleven_excerpt_length( $length ) {
return 40;
}
add_filter( 'excerpt_length', 'twentyeleven_excerpt_length' );
}
else {function twentyeleven_excerpt_length( $length ) {
return 80;
}
add_filter( 'excerpt_length', 'twentyeleven_excerpt_length' );}

如您所见,我在这方面完全是新手,所以我需要一些指导。

你可以

通过以下方式将解决方案放在一起

  1. 创建自定义摘录函数以制作更长的摘录,如本答案所示,并将其保存在函数文件中
  2. 使用has_post_thumbnail查看帖子是否有缩略图/特色图像,然后相应地提供正确的摘录:

    <?php
    if ( has_post_thumbnail() ) {
    the_post_thumbnail();
        echo excerpt(25); // Short excerpt
    } else {
        echo excerpt(50); // Long excerpt
    }
    ?>
    

请记住,摘录是根据字长修剪的;因此您无法保证结尾高度。您可能还应该考虑使用min-height以获得您所追求的高度。

使用高级摘录插件。 使用 has_post_thumbnail() 条件测试帖子是否有特色图片 - 如果有,则显示它 + 简短摘录(请参阅插件的使用指南,您可以通过字数、字符数、完成单词/句子等进行限制),如果没有,则显示更长的摘录。 您只需使用the_advanced_excerpt()模板标签并传入所需的参数。