在 WordPress 文章中自动获取网站截图

分享一些好的网站或者网页模板时,配上对应的网页截图会更加直观。上篇文章利用Browser Shots插件自动获取网站截图,今天再分享一下不用插件的方法。

一、短代码

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

  1. function wp_screenshot($atts, $content=null){
  2. extract(
  3. shortcode_atts(
  4. array(
  5. "shots" => "https://s0.wordpress.com/mshots/v1/",
  6. "url" => "https://www.wpbeginner.com",
  7. "width" => "600",
  8. "height" => "450",
  9. "alt" => "screenshot"
  10. ),
  11. $atts
  12. )
  13. );
  14. $img = '<div class="wp-shot"><a href="' . $url . '" rel="external nofollow" target="_blank"><img src="' . $shots . '' . urlencode($url) . '?w=' . $width . '&h=' . $height . '" alt="' . $alt . '" /></a></div>';
  15. return $img;
  16. }
  17. add_shortcode("shot", "wp_screenshot");

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

  1. [shot url="http://zmingcx.com/"]

或者自定义截图大小

  1. [shot url="http://zmingcx.com/" width="600" height="450"]

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

具体效果

在 WordPress 文章中自动获取网站截图

二、直接添加链接

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

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

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

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

版权声明:似最初 发表于 2019-10-30 12:05:37。
转载请注明:在 WordPress 文章中自动获取网站截图 | 初与小栈