在 WordPress 文章中自动获取网站截图(非插件实现)

分享一些好的网站或者网页模板时,配上对应的网页截图会更加直观。

一、短代码

将下面的代码添加到当前主题函数模板 functions.php 中:

function wp_screenshot($atts, $content=null){
 	extract(
 		shortcode_atts(
 			array(
 				"shots" => "https://s0.wordpress.com/mshots/v1/",
 				"url" => "https://www.wpbeginner.com",
 				"width" => "600",
 				"height" => "450",
 				"alt" => "screenshot"
 			),
  			$atts
 		)
 	);
   	$img = '<div class="wp-shot"><a href="'%20.%20$url%20.%20'" rel="external nofollow" target="_blank"><img src="'%20.%20$shots%20.%20''%20.%20urlencode($url)%20.%20'?w='%20.%20$width%20.%20'&h='%20.%20$height%20.%20'" alt="' . $alt . '"  /></a></div>';
 	return $img; } add_shortcode("shot", "wp_screenshot");

发表文章时,添加短代码:

[shot url="https://xingkgongweb.com/"]

或者自定义截图大小

[shot url="https://xingkongweb.com/" width="600" height="450"]

修改其中的网址链接链接即可。

二、直接添加链接

这个方法使用更加方便,获取截图的基本格式:

https://s0.wordpress.com/mshots/v1/https://xingkongweb.com/?w=600&h=450

也可以直接将上述地址链接格式像正常插入图片(从URL插入)一样添加到文章中,上面的截图就是这么加的,并没有用短代码。

因需要即时生成截图,第一次打开可能看不到图片,刷新一下就可以了,不行就多刷新几次。生成的截图存储在WordPress.com服务器上,不会占用自己的空间和资源,不过加载可能有些慢。

相关文章