当我们安装主题和插件时,都会向…
几天前,我看到一个网站在页面顶部提供了一些额外的信息:预计阅读该页面的时间。我觉得这很有趣,并希望使用WordPress 短代码创建类似的内容。
这很容易做到,所以让我们开始吧!
步骤1:建立外挂程式
与往常一样,我们将创建一个插件,因此,在wp-content/plugins下创建一个新文件夹,并将其命名为“ post-reading-duration-shortcode ”,打开它,并创建一个名为“ post-reading-duration ”的文件。-shortcode.php ”。打开文件并粘贴以下代码:
<?php
/*
Plugin Name: Post Reading Duration Shortcode
Plugin URL: http://remicorson.com/
Description: Display the estimated time to read the post
Version: 0.1
Author: Remi Corson
Author URI: http://remicorson.com
Contributors: corsonr
Text Domain: rc_prds
Domain Path: languages
*/
保存文件后,您应该在插件页面上看到插件列表。
步骤2:建立简码
基本上,插件将提供不带属性的简单短代码。文本将被封装在短代码标签之间。当访客需要阅读帖子时,短代码将显示在前端。要创建简码,请使用以下代码:
/**
* Register the shortcode
*
* @access public
* @since 1.0
* @return void
*/
function rc_prds_add_reading_duration_shortcode( $atts, $content = null ) {
return '<span class="reading_duration">'.$content.'</span>';
}
add_shortcode("reading_duration", "rc_prds_add_reading_duration_shortcode");
您可以保存文件。如果将简短代码[reading_duration]预计阅读时间:XX [/ reading_duration]添加到帖子或页面中,则其应该显示封装在“ span”标签中的“预计阅读时间:XX”。
下一步是根据每分钟预定义的单词数,修改简码以显示阅读页面或帖子所需的实际估计时间。
为此,我们必须使短码代码得到发展。我们需要获取帖子ID(以使用str_word_count()检索帖子中的单词数),并且需要定义人们通常在一分钟内阅读的单词数。假设每分钟200个单词。
/** * Register the shortcode * * @access public * @since 1.0 * @return void */ function rc_prds_add_reading_duration_shortcode( $atts, $content = null ) { global $post; // Get Post ID $post_id = $post->ID; // Words read per minute (you can set your own value) $words_per_minute = 200; // Get estimated time $estimated_reading_time = rc_prds_get_post_reading_time( $post_id, $words_per_minute ); return '<span class="reading_duration">'.$content.' '.$estimated_reading_time.'</span>'; } add_shortcode("reading_duration", "rc_prds_add_reading_duration_shortcode");
步骤3:计数器功能
如您所见,有一个未定义的函数:rc_prds_get_post_reading_time()。该函数将返回您阅读帖子所需的估计时间。创建它:
/** * Get post reding time * * @access public * @since 1.0 * @return void */ function rc_prds_get_post_reading_time( $post_id, $words_per_minute ){ // Get post's words $content = get_the_content( $post_id ); $count_words = str_word_count( strip_tags( $content ) ); // Get Estimated time $minutes = floor( $count_words / $words_per_minute); $seconds = floor( ($count_words / ($words_per_minute / 60) ) - ( $minutes * 60 ) ); // If less than a minute if( $minutes < 1 ) { $estimated_time = __( 'Less than a minute', 'rc_prds' ); } // If more than a minute if( $minutes >= 1 ) { if( $seconds > 0 ) { $estimated_time = $minutes.__( 'min', 'rc_prds' ).' '.$seconds.__( 'sec', 'rc_prds' ); } else { $estimated_time = $minutes.__( 'min', 'rc_prds' ); } } return $estimated_time; }
基本上,该函数计算“ get_the_content()”中的单词数,然后计算阅读帖子所需的分钟和秒数。最后一部分只是根据$ minutes和$ seconds的值显示正确消息的简单方法。
我们可以走得更远,并增加阅读文章所需的时间,但我不确定100%是否必须这样做!
现在,您只需添加以下内容即可完全使用简码:
[reading_duration]Estimated Reading Time:[/reading_duration]
微信扫描二维码联系我们!
我们在微信上24小时期待你的声音
提供外贸路由器设备产品,轻松翻墙,解答:WP主题推荐,WP网站建设,Google SEO,百度SEO,专业服务器环境搭建等!
需要提供WordPress主题/插件的汉化服务可以随时联系我们!另外成品WordPress网站以及半成品WordPress网站建设,海外Google SEO优化托管服务,百度SEO优化托管服务,Centos/Debian服务器WP专用环境搭建,WP缓存服务器搭建,我们都是你的首选,拥有多年WP开源程序服务经验,我们一直在坚持客户体验,没有最好,只有更好!