我在函数中使用以下代码。php在我的摘录中显示缩略图:
function pietergoosen_kry_eerste_prentjie() {
global $post;
$first_img = \'\';
$output = preg_match_all(\'/<img.+src=[\\\'"]([^\\\'"]+)[\\\'"].*>/i\', $post->post_content, $matches);
$first_img = $matches [1] [0];
return $first_img;
}
function pietergoosen_kyk_url_bestaan($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_verstel_prentjie_grootte($image, $alt, $newwidth, $newheight) {
if (!file_exists($image) && !pietergoosen_kyk_url_bestaan($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 . \'/>\';
}
我正在将这些函数调用到我的内容中。php模板位于\\u摘录下方,如下所示:
<div class="alignleft">
<a href="<?php the_permalink() ?>">
<?php echo pietergoosen_verstel_prentjie_grootte(pietergoosen_kry_eerste_prentjie(), get_the_title(), 125, 0); ?>
</a>
</div>
我现在需要做的是将rel=“lightbox”属性添加到显示的缩略图中。以下是我如何处理所有其他图像的方法:
function pietergoosen_voeg_lightbox_rel_attribute_by_the_content($content) {
global $post;
$pattern ="/<a(.*?)href=(\'|\\")(.*?).(bmp|gif|jpeg|jpg|png)(\'|\\")(.*?)>/i";
$replacement = \'<a$1href=$2$3.$4$5 rel="lightbox" title="\'.$post->post_title.\'"$6>\';
$content = preg_replace($pattern, $replacement, $content);
return $content;
}
add_filter(\'the_content\', \'pietergoosen_voeg_lightbox_rel_attribute_by_the_content\');
我无法将此方法用于摘录缩略图。你有什么想法可以让它发挥作用吗。
最合适的回答,由SO网友:Pieter Goosen 整理而成
好的,这就是我在一天结束时编辑的内容,它工作得很好。我替换了:
<div class="alignleft">
<a href="<?php the_permalink() ?>">
<?php echo pietergoosen_verstel_prentjie_grootte(pietergoosen_kry_eerste_prentjie(), get_the_title(), 125, 0); ?>
</a>
</div>
使用:
<div class="alignleft">
<a href="<?php echo pietergoosen_kry_eerste_prentjie() ?>" title="<?php printf( the_title_attribute( \'echo=0\' ) ); ?>" rel="lightbox">
<?php echo pietergoosen_verstel_prentjie_grootte(pietergoosen_kry_eerste_prentjie(), get_the_title(), 125, 0); ?>
</a>
</div>