知更鸟begin奇怪的问题修复,缩略图空白

老黑 教程文档知更鸟begin奇怪的问题修复,缩略图空白已关闭评论261阅读模式

知更鸟begin主题下,使用沈唁的USS Upyun插件整合又拍云存储发现一个奇怪的问题,文件内部图片的优化选项都成功启用,但是知更鸟begin主题自带的缩略图启用又拍云后前台的文章缩略图全部是白色,无法加载。

知更鸟begin奇怪的问题修复,缩略图空白

这个问题也不清楚是主题问题还是沈唁的USS Upyun插件没有适配最新版本的wordpress造成的,直接改代码解决问题比较直接。

一、定位问题

通过f12查看错误发现地址都没有转换过来:

https://www.ixmu.net/wp-content/uploads/2022/06/20220626232900.png!/both/280x210/format/webp/lossless/true

正确的链接应该是:

https://static.ixmu.net/wp-content/uploads/2022/06/20220626232900.png!/both/280x210/format/webp/lossless/true

二、修正问题

既然已经找到了问题,我们可以在begin/inc/thumbnail.php找到以下代码,不难发现主题使用了preg_match_all()函数提取到图片的地址赋值给$strResult,我们只需要对它进行一次处理即可,把其中的“www.ixmu.net”替换为“static.ixmu.net”:

$content = $post->post_content;
preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $content, $strResult, PREG_PATTERN_ORDER);
$n = count($strResult[1]);
if($n > 0) {
	if (zm_get_option('lazy_s')) {
		echo '<span class="load"><a class="sc" rel="external nofollow" href="'.get_permalink().'"><img src="'. get_template_directory_uri().'/prune.php?src=' . get_template_directory_uri() . '/img/loading.png&w='.zm_get_option('img_w').'&h='.zm_get_option('img_h').'&a='.zm_get_option('crop_top').'&zc=1" data-original="';
	} else {
		echo '<a class="sc" rel="external nofollow" href="'.get_permalink().'"><img src="';
	}
	echo $strResult[1][0].'!/both/'.zm_get_option('img_w').'x'.zm_get_option('img_h').'/format/webp/lossless/true" alt="'.$post->post_title .'" width="'.zm_get_option('img_w').'" height="'.zm_get_option('img_h').'" /></a>';
	if (zm_get_option('lazy_s')) {
		echo '</span>';
	}

简单修正的后的代码是这样,使用strtr()函数对$strResult的内容中“www.ixmu.net”替换为“static.ixmu.net”

$content = $post->post_content;
preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $content, $strResult, PREG_PATTERN_ORDER);
$n = count($strResult[1]);
if($n > 0) {
	if (zm_get_option('lazy_s')) {
		echo '<span class="load"><a class="sc" rel="external nofollow" href="'.get_permalink().'"><img src="'. get_template_directory_uri().'/prune.php?src=' . get_template_directory_uri() . '/img/loading.png&w='.zm_get_option('img_w').'&h='.zm_get_option('img_h').'&a='.zm_get_option('crop_top').'&zc=1" data-original="';
	} else {
		echo '<a class="sc" rel="external nofollow" href="'.get_permalink().'"><img src="';
	}
	echo strtr($strResult[1][0], array("www.ixmu.ner" => "$static")).'!/both/'.zm_get_option('img_w').'x'.zm_get_option('img_h').'/format/webp/lossless/true" alt="'.$post->post_title .'" width="'.zm_get_option('img_w').'" height="'.zm_get_option('img_h').'" /></a>';
	if (zm_get_option('lazy_s')) {
		echo '</span>';
	}

三、简单总结

知更鸟begin主题的又拍云配置在2845行至2784行,这么多代码,可见作者的用心。

可能部分人认为这个修改没有作用,个人认为还是有的,例如你希望你的缩略图处理和图片存储进行分离,那么你就可以用这串代码实现CDN的云处理和网络分发分离。

 

老黑
  • 本文由 发表于 2022年7月17日 01:46:18
  • 转载请务必保留本文链接:https://www.ixmu.net/article/453.html
pve7.2-7控制cpu频率实现降频降温省电 教程文档

pve7.2-7控制cpu频率实现降频降温省电

修改启动项 [email protected]:~# nano /etc/default/grub 找到quiet那个位置,后面加空格,再加intel_pstate=disable 加上参数后保存,并更新grub ro...