我不认为有一个摘录类型的函数可以让你保存图像。但是有一些函数可以完成您想要做的事情。
首先,您需要设置摘录。在您的内容中。php文件更改
<?php if ( is_search() ) : ?>
使用
<?php if ( is_search() || is_paged() ) : ?>
使用
function pietergoosen_excerpt_175_words( $length ) {
return 175;
}
add_filter( \'excerpt_length\', \'pietergoosen_excerpt_175_words\' );
如果您需要的不是wordpress默认的55个单词,请设置摘录长度
以下函数将把文章的第一个图像添加到摘录中,并保持其纵横比。添加到函数。php
function pietergoosen_get_first_image() {
global $post;
$first_img = \'\';
if( $output = preg_match_all(\'/<img.+src=[\\\'"]([^\\\'"]+)[\\\'"].*>/i\', $post->post_content, $matches))
$first_img = $matches [1] [0];
return $first_img;
}
function pietergoosen_check_if_url_exist($url) {
$headers = wp_get_http_headers($url);
if (!is_array($headers)) :
return FALSE;
elseif (isset($headers["content-type"]) && (strpos($headers["content-type"],"image") !== false)) :
return TRUE;
else :
return FALSE;
endif;
}
function pietergoosen_adjust_image_size($image, $alt, $newwidth, $newheight) {
if (!file_exists($image) && !pietergoosen_check_if_url_exist($image)) return \'\';
list($width, $height, $type, $attr) = getimagesize($image);
if (!$width || !$height) return \'\';
if ($newwidth)
$newheight = intval($newwidth/$width * $height);
else
$newwidth = intval($newheight/$height * $width);
return \'<img src="\' . $image . \'" width=\' . $newwidth . \' height=\'. $newheight . \' alt=\' . $alt . \'/>\';
}
现在添加以下行
<div class="alignleft-excerpt">
<a href="<?php echo pietergoosen_get_first_image() ?>" title="<?php printf( the_title_attribute( \'echo=0\' ) ); ?>" rel="lightbox">
<?php echo pietergoosen_adjust_image_size(pietergoosen_get_first_image(), get_the_title(), 250, 0); ?>
</a>
</div>
就在上面
<?php the_excerpt(); ?>
在内容中。php。要设置图像的个人大小,只需将最后一组代码中的值=250设置为所需的任何大小。保持值=0不变。这是为了保持图像的纵横比。
下面是一些设置填充的样式
.alignleft-excerpt img{
padding-right: 10px;
padding-right: 0.71rem;
padding-top: 6px;
padding-top: 0.42857143rem;
}
.alignleft-excerpt {
float: left;
}
希望这有帮助。