WordPress技巧:获取统计文章内图片数量

admin wordpress评论352字数 1569阅读5分13秒

据我所知WordPress没有统计文章内图片数量的函数,所以要想获取文章内所有图片的总数只能通过添加自己添加WordPress代码来实现。

这个功能并不难实现, 几行代码就可以搞定, 在网上搜了搜也有挺多类似的教程。文章源自零捌陆工作室-https://www.086026.com/263.html

一个小小的功能可以让主题功能更加丰富,喜欢的朋友可以自己测试下。文章源自零捌陆工作室-https://www.086026.com/263.html

使用方法文章源自零捌陆工作室-https://www.086026.com/263.html

首先将下面代码添加到functions.php文件中。文章源自零捌陆工作室-https://www.086026.com/263.html

// WordPress获取文章内图片数量

if( !function_exists('get_post_images_number') ){  
    function get_post_images_number(){  
        global $post;  
        $content = $post->post_content;    
        preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $content, $result, PREG_PATTERN_ORDER);    
        return count($result[1]);    
    }  
}  

然后在需要统计文章内图片数量的地方添加下面代码即可。文章源自零捌陆工作室-https://www.086026.com/263.html

注意: 使用时需要放在循环内。文章源自零捌陆工作室-https://www.086026.com/263.html

<?php echo get_post_images_number().'张图片' ?>  

统计文章字数的数量文章源自零捌陆工作室-https://www.086026.com/263.html

// 字数统计
function zm_count_words ($text) {
	global $post;
	if ( '' == $text ) {
		$text = $post->post_content;
		if (mb_strlen($output, 'UTF-8') < mb_strlen($text, 'UTF-8')) $output .= '<span class="word-count">共' . mb_strlen(preg_replace('/\s/','',html_entity_decode(strip_tags($post->post_content))),'UTF-8') .'字</span>';
		return $output;
	}
}

调用方式文章源自零捌陆工作室-https://www.086026.com/263.html

<?php echo count_words ($text); ?>

文章阅读时间文章源自零捌陆工作室-https://www.086026.com/263.html

// 阅读时间
function zm_get_reading_time($content) {
	$zm_format = '<span class="reading-time">阅读时间%min%分%sec%秒</span>';
	$zm_chars_per_minute = 300; // 估算1分种阅读字数
 
	$zm_format = str_replace('%num%', $zm_chars_per_minute, $zm_format);
	$words = mb_strlen(preg_replace('/\s/','',html_entity_decode(strip_tags($content))),'UTF-8');
 
	$minutes = floor($words / $zm_chars_per_minute);
	$seconds = floor($words % $zm_chars_per_minute / ($zm_chars_per_minute / 60));
	return str_replace('%sec%', $seconds, str_replace('%min%', $minutes, $zm_format));
}
 
function zm_reading_time() {
	echo zm_get_reading_time(get_the_content());
}

代码添加到当前主题函数模板 functions.php 中,然后用下面的代码调用,不过字数统计和阅读时间不是很精确,特别是阅读时间,更是扯淡,默认是按CCTV广播员语速定的。文章源自零捌陆工作室-https://www.086026.com/263.html

<?php zm_reading_time(); ?>

 

继续阅读
weinxin
我的微信
我的微信
微信扫一扫
 最后更新:2023-10-8
admin
  • 本文由 admin 发表于 2021年3月31日 09:26:39
  • 转载请务必保留本文链接:https://www.086026.com/263.html
  • wordpress代码
  • 阅读时间

发表评论