海天无影Blog

wordpress判断文章中是否有图片

/ 2158阅 / 57评 / 0

wordpress判断文章中是否有图片,这篇文章其实应该是配合《图片适当载入渐显特效,基于jQuery.Lazyload》这篇文章一起发出来的,原谅我今天才想起来……为什么说要配合那篇文章发布呢?OK,看我慢慢道来。

因为上一篇文章是为了快速加载有图片的页面,但是没有图片的页面?我们又不是图片站,既然没有图片还要加载个不大不小的JS文件,感觉就有点累赘了吧。本文就是判断文章页面中是否有图片,如果有,才加载图片渐显的JS。

wordpress判断文章中是否有图片,用以下代码就可以完成:

<?php
$content = $post->post_content;
$searchimages = '~<img [^>]* />~';
/*用preg_match_all函数来检查日志中是否有<img>标签,并把检查结果存储在$pics中*/
preg_match_all( $searchimages, $content, $pics );
// 看看是否有至少1张图片
$iNumberOfPics = count($pics[0]);
if ( $iNumberOfPics > 0 ) {

echo '<script type="text/javascript" src="http://blog.haitianhome.com/wp-content/themes/prowerV3.1/jquery.lazyload.js"></script>
<script type="text/javascript">
jQuery(document).ready(
function($){
$(".contents img").lazyload({
placeholder : "http://blog.haitianhome.com/wp-content/themes/prowerV3.1/image/fill.gif",
effect : "fadeIn"
});
});
</script>
'; }
?>

其中红色部分是判断语句,浅绿色部分是判断有图片才需要加载的代码,也就是上一篇文章《图片适当载入渐显特效,基于jQuery.Lazyload》所用的代码。

有的朋友可能会说JS我都是在家页面最后的没事。的确,海天的博客的图片点击显示效果,也是将JS放在页面最后的,这个是没有影响的。

但是如果你用《图片适当载入渐显特效,基于jQuery.Lazyload》这个的话,那就不行了,因为你将图片都全部加载完成了,还需要那个JS放在最后干嘛呢?所以还是必须得放在页面开始来加载的,加个判断,免去了不必要的加载。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注