WordPress 主题的版权信息一般在页脚显示,其内容经常需要手动修改,尤其是时间,这样比较麻烦,还容易忘记。使用下面的 PHP 代码可以动态的获取版权信息。
代码
代码一
/**
* WordPress 主题动态获取版权信息
* @author 智慧宫
* @link https://lerm.net
*/
function lerm_create_copyright() {
$all_posts = get_posts( 'post_status=publish&order=ASC' );
$first_post = $all_posts[0];
$first_date = $first_post->post_date_gmt;
echo esc_html__( 'Copyright © ' );
if ( substr( $first_date, 0, 4 ) === date( 'Y' ) ) {
echo esc_html( date( 'Y' ) );
} else {
echo esc_html( substr( $first_date, 0, 4 ) . '-' . date( 'Y' ) );
}
echo ' <strong>' . esc_html( get_bloginfo( 'name' ) ) . '</strong> ';
echo esc_html__( 'All rights reserved ' );
}
使用get_posts()
进行查询
代码二
/*
WordPress实现动态获取并显示版权年份
https://www.wpxzt.com
*/
function lerm_create_copyright() {
global $wpdb;
$copyright_dates = $wpdb->get_results(
"
SELECT
YEAR(min(post_date_gmt)) AS firstdate,
YEAR(max(post_date_gmt)) AS lastdate
FROM
$wpdb->posts
WHERE post_status = 'publish'
"
);
if ( $copyright_dates ) {
$date = date( 'Y-m-d' );
$date = explode( '-', $date );
$copyright = 'Copyright © ' . $copyright_dates[0]->firstdate;
if ( $copyright_dates[0]->firstdate != $date[0] ) {
$copyright .= '-' . $date[0];
}
echo esc_html( $copyright );
echo ' <strong>' . esc_html( get_bloginfo( 'name' ) ) . '</strong> ';
echo esc_html__( 'All rights reserved' );
}
}
使用数据库进行查询
工作原理
以上两段代码的逻辑都是相同的,不同的是代码一使用了get_posts()
函数进行查询,代码二使用$wpdb
数据库进行查询获取时间。
- 获取所有已经发布的文章;
- 获取第一篇文章发布的年份并输出;
- 获取当前年份并输出;
- 获取博客名称并输出
使用方法
将上面的代码放在 functions.php 文件里面
在footer.php 文件里面相应的地方使用lerm_create_copyright()
函数引用即可,在引用的地方可以看到如下的显示的版权信息了
Copyright © 2014-2020 智慧宫 All rights reserved
参考
https://www.zhutihome.net/7729.html