我先发布通用的代码
打开主题的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文件,可以看到这么一堆代码
然后看到一堆毫无规矩的php代码,本来想着主页文章的缩略图应该就是index里面吧,进来看到这么多的东西,不知道那个才是调用图片的代码。
那这样看不明白我只有打开浏览器的开发者工具,找到相应的位子,发现了一个id="primary"的div标签,然后我就像我是没找错啊,怎么就是没找到img标签,然后就试试代码中的get_template_part( 'inc/sticky' );
打开这个文件inc/sticky.php
然后打开我依旧没找到图片在哪里显示,那行吧,继续在网页上用找到位子
发现在一个<figure>标签下的
此时就回到inc/sticky.php去看看对应的位子
发现又是一串php代码,靠,还写在另一个PHP文件中,给一个图片要找这么深。
<?php get_template_part( 'inc/thumbnail' ); ?>
接着打开这个文件吧inc/thumbnail.php
其中发现两处img标签,可不知道那个才是正确的,所以,开发者工具又用到了,发现一个对于的class名字,然后我这条代码
<?php echo catch_first_image() ?>
放在了我图片中有注释地方的位子,注释的那条代码是作者之前的代码。
还有就是在functions.php加入最开始部分说得代码。
ok看我的网站效果吧!!!以后再也不用点击这一堆东西了
历史上的今天:
- 2022: 屏蔽机械硬盘的坏道(0)
- 2022: Emlog文章内容登录可见(0)
- 2019: Emlog 5.x 列表缩略图调用文章内容首张图片(2)
本文章百度已收录,若发现本站有任何侵犯您利益的内容,请及时邮件或留言联系,我会第一时间删除所有相关内容。
2018年9月28日 01:01 沙发
真的很详细,这个教程很实用。