摘录:显示文本、图像或视频

时间:2012-06-09 作者:Phife Dawz

是否可以调整摘录以显示文本or 一张图片or 一个视频?

下面的代码可以显示以上所有内容,但我真的想限制它,这取决于帖子中包含的内容。。

<?php 
function improved_trim_excerpt($text) {
        global $post;
        if ( \'\' == $text ) {
                $text = get_the_content(\'\');
                $text = apply_filters(\'the_content\', $text);
                $text = str_replace(\'\\]\\]\\>\', \']]&gt;\', $text);
                $text = preg_replace(\'@<script[^>]*?>.*?</script>@si\', \'\', $text);
                $text = strip_tags($text, \'<iframe>, <p>, <img>\');
                $excerpt_length = 66;
                $words = explode(\' \', $text, $excerpt_length + 1);
                if (count($words)> $excerpt_length) {
                        array_pop($words);
                        array_push($words, \'[...]\');
                        $text = implode(\' \', $words);
                }
        }
        return $text;
}
?>
<?php
remove_filter(\'get_the_excerpt\', \'wp_trim_excerpt\');
add_filter(\'get_the_excerpt\', \'improved_trim_excerpt\');
?>

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

我鼓励您考虑使用post格式。你可以看到my answer to a similar question 关于修改“阅读更多”文本,但它同样适用于您。对于视频部分,您可能希望创建一个自定义字段来保存视频URL,但如果不是这样,我想这将非常容易设置。

与其过滤摘录,还可以选择替换the_excerpt() 使用:

get_template_part( \'excerpt\', get_post_format() );
那么你可以使用excerpt.php 对于默认/回退代码段,excerpt-video.php 用于视频,以及excerpt-image.php 用于图像。或者,您可以在过滤器中使用类似的内容来测试post格式:

if( get_post_format() == \'video\' ) { // etc...

结束

相关推荐

_excerpt-要修改受密码保护的输出

我希望在没有指定摘录并且帖子有密码保护的情况下修改\\u摘录的输出。我已经可以将受密码保护的表单修改为我想要的任何内容,但是\\u摘录输出“没有摘录,因为这是一篇受保护的帖子。”。此代码位于wp includes/post模板中。php:function get_the_excerpt( $deprecated = \'\' ) { if ( !empty( $deprecated ) ) _deprecated_argument( __FUNCTION__, \'