WordPress本主题文章显示随机图片或默认图片代码方法

2018年3月25日14:45:29 发表评论 95 views

我先发布通用的代码


打开主题的functions.php文件,增加下面的代码

显示随机图片

//支持外链缩略图
if ( function_exists('add_theme_support') )
 add_theme_support('post-thumbnails');
function catch_first_image() {global $post, $posts;$first_img = '';
	ob_start();
	ob_end_clean();
	$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
	$first_img = $matches [1] [0];
	if(empty($first_img)){
		$random = mt_rand(1, 10);
		echo get_bloginfo ( 'stylesheet_directory' );
		echo '/images/random/'.$random.'.jpg';
		}
  return $first_img;
}
;

上面的代码,只需要准备10张图片,放在主题的/images/random/目录即可

如果需要显示一张默认的图片,可以使用下面的代码替换

显示默认图片

//支持外链缩略图
if ( function_exists('add_theme_support') )
 add_theme_support('post-thumbnails');
function catch_first_image() {global $post, $posts;$first_img = '';
	ob_start();
	ob_end_clean();
	$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
	$first_img = $matches [1] [0];
	if(empty($first_img)){
		$first_img = bloginfo('template_url'). '/images/default-thumb.jpg';
		}
  return $first_img;
}
;

注意,将你的默认图片放在Hcms主题的images文件夹里,并将名字命名为default-thumb.jpg。

以上两个的函数,在调用的时候,可以使用下面的语句.

<?php echo catch_first_image() ?>

 


然后就是我更改我这个主题代码的方法,说实话没想到wordpress主题这么复杂,一套php看得我一脸懵逼。

本主题用的是 知更鸟 的 Ality主题

首先拿到本主题的index.php文件,可以看到这么一堆代码WordPress本主题文章显示随机图片或默认图片代码方法

然后看到一堆毫无规矩的php代码,本来想着主页文章的缩略图应该就是index里面吧,进来看到这么多的东西,不知道那个才是调用图片的代码。

那这样看不明白我只有打开浏览器的开发者工具,找到相应的位子,发现了一个id="primary"的div标签,然后我就像我是没找错啊,怎么就是没找到img标签,然后就试试代码中的get_template_part( 'inc/sticky' );

打开这个文件inc/sticky.phpWordPress本主题文章显示随机图片或默认图片代码方法

然后打开我依旧没找到图片在哪里显示,那行吧,继续在网页上用找到位子

发现在一个<figure>标签下的WordPress本主题文章显示随机图片或默认图片代码方法

 

此时就回到inc/sticky.php去看看对应的位子

发现又是一串php代码,靠,还写在另一个PHP文件中,给一个图片要找这么深。

<?php get_template_part( 'inc/thumbnail' ); ?>

接着打开这个文件吧inc/thumbnail.phpWordPress本主题文章显示随机图片或默认图片代码方法

其中发现两处img标签,可不知道那个才是正确的,所以,开发者工具又用到了,发现一个对于的class名字,然后我这条代码

<?php echo catch_first_image() ?>

放在了我图片中有注释地方的位子,注释的那条代码是作者之前的代码。

还有就是在functions.php加入最开始部分说得代码。

ok看我的网站效果吧!!!以后再也不用点击这一堆东西了WordPress本主题文章显示随机图片或默认图片代码方法

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的支付宝红包
  • 支付宝红包扫一扫打赏
  • weinxin
  • A+
所属分类:PHP

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: