wp_date 是 WordPress 提供的一个增强函数。
在我们开发WordPress主题或WordPress插件的时候,可以使用wp_date替换php函数。
wp_date 函数源码:
function wp_date( $format, $timestamp = null, $timezone = null ) {
global $wp_locale;
if ( null === $timestamp ) {
$timestamp = time();
} elseif ( ! is_numeric( $timestamp ) ) {
return false;
}
if ( ! $timezone ) {
$timezone = wp_timezone();
}
$datetime = date_create( '@' . $timestamp );
$datetime->setTimezone( $timezone );
if ( empty( $wp_locale->month ) || empty( $wp_locale->weekday ) ) {
$date = $datetime->format( $format );
} else {
// We need to unpack shorthand `r` format because it has parts that might be localized.
$format = preg_replace( '/(?<!\\\\)r/', DATE_RFC2822, $format );
$new_format = '';
$format_length = strlen( $format );
$month = $wp_locale->get_month( $datetime->format( 'm' ) );
$weekday = $wp_locale->get_weekday( $datetime->format( 'w' ) );
for ( $i = 0; $i < $format_length; $i ++ ) {
switch ( $format[ $i ] ) {
case 'D':
$new_format .= addcslashes( $wp_locale->get_weekday_abbrev( $weekday ), '\\A..Za..z' );
break;
case 'F':
$new_format .= addcslashes( $month, '\\A..Za..z' );
break;
case 'l':
$new_format .= addcslashes( $weekday, '\\A..Za..z' );
break;
case 'M':
$new_format .= addcslashes( $wp_locale->get_month_abbrev( $month ), '\\A..Za..z' );
break;
case 'a':
$new_format .= addcslashes( $wp_locale->get_meridiem( $datetime->format( 'a' ) ), '\\A..Za..z' );
break;
case 'A':
$new_format .= addcslashes( $wp_locale->get_meridiem( $datetime->format( 'A' ) ), '\\A..Za..z' );
break;
case '\\':
$new_format .= $format[ $i ];
// If character follows a slash, we add it without translating.
if ( $i < $format_length ) {
$new_format .= $format[ ++$i ];
}
break;
default:
$new_format .= $format[ $i ];
break;
}
}
$date = $datetime->format( $new_format );
$date = wp_maybe_decline_date( $date, $format );
}
/**
* Filters the date formatted based on the locale.
*
* @since 5.3.0
*
* @param string $date Formatted date string.
* @param string $format Format to display the date.
* @param int $timestamp Unix timestamp.
* @param DateTimeZone $timezone Timezone.
*/
$date = apply_filters( 'wp_date', $date, $format, $timestamp, $timezone );
return $date;
}
可以看出,wp_date 做了很多工作。而且,还有同名钩子 wp_date。通过钩子 wp_date,可以做进一步处理。
-
2种禁用WordPress Jquery Migrate的方法WordPress Jquery Migrate的作用,简单来说就是兼容使用低版本Jquery的网站主题或插件,若我们一直用的新版本,那这个就没啥用途,可以禁用了。
-
WordPress如何移除头部global-styles-inline-css和duotone svgWordPress 5.9 版本后对古腾堡编辑器(块编辑器)做了升级,我们在使用经典编辑器的情况下会出现许多冗余代码,比如头部内联样式 global-styles-inline-css等。
-
Curveflow WordPress个人博客、自媒体资讯主题Curveflow是一款WordPress个人博客或自媒体资讯主题,来自alx.media,追格小编分享过多款该开发者的主题。
-
All-in-One WP Migration(一站式WP迁移)WordPress全站迁移插件All-in-One WP Migration是一款WordPress全站迁移插件,中文名叫“一站式WP迁移”,在WordPress官网显示有超过500万的安装量,超过6000+的五星好评。
-
Wordfence Security WordPress安全插件Wordfence Security是一款WordPress安全插件,一些朋友都推荐为必装插件之一,WordPress官网显示,该插件超过400万的安装量,3400+的五星好评。
-
WordPress缓存插件Cache MasterWordPress缓存插件,追格小编早些时候也分享过,如:Lazy Load WordPress、Cachify等等。今天我们说说Cache Master,其实和其他大同小异,各有优劣势。
暂无评论,抢个沙发...