温馨提示:本文最后更新于2022年12月1日,已超过 30 天没有更新,某些文章具有时效性,若有错误或已失效,请在下方留言!

前言


前段时间更新了第一期关于Sakurairo主题美化的教程,而本期主要美化内容有:发布文章时间校正、文章代码块自动换行、强制更新文件版本号。

文章发布时间校正


在Wordpress发布文章的时候是否会出现一种情况,就是发布完文章后查看文章时间与当前时间相差八小时,这对于文章本身而言可能没多大的影响,但是对于有强迫症的人来说,这一定要把文章发布时间跟当时系统时间一样才行。接下来讲一下方法。

检查服务器时间

首先我们需要检查服务器的时间,如果是云主机,一般商家都校正好的了,如果是自己搭建的,这时候要去查看服务器时间是否已经校正的了。如果这些都没问题,那么接着下一步。

手动调整

打开wp-config.php并添加以下代码

date_default_timezone_set('Asia/Shanghai');

接着打开/wp-includes/functions.php添加以下代码

date_default_timezone_set('Asia/Shanghai');

后台设置

然后进入Wordpress后台,设置 - 时区,改成上海,然后保存即可。

文章代码块自动换行


这个在PC端预览文章是没有问题的,主要针对的是移动端,如果代码块内容过长不会自动换行,需要拖动才能看到内容,如果想要超过显示区域能够自动换行的话,添加如下代码即可。

原因是因为<pre>代码引起的,<pre>代码是原格式标签,一般主要在文章中保持原始的样式

  • 1.可以在主题设置 - 其他设置 - 低使用 - 自定义CSS样式中插入。
  • 2.也可以在主题目录下style.css上添加如下内容。
pre {
white-space: pre-wrap;
white-space: -moz-pre-wrap;
white-space: -pre-wrap;
white-space: -o-pre-wrap;
word-wrap: break-word;
}

强制更新文件版本号


这个主要针对的是修改js、css文件后,刷新页面或者是清除游览器缓存还是没有生效的问题,主要原因是因为这些文件都带着版本号,而Sakurairo主题已经默认有一个版本号了,修改内容是否生效根据的是版本号控制,所以你无论怎么修改文件内容还是不生效。解决这个问题也非常简单。

我们需要用到一个函数filemtime(),该函数主要是提取文件内容最后一次修改的时间戳。

具体实现起来也非常简单,这里就拿修改app.js来做例子。

首先打开主题目录下的functions.php,大概在265行左右,复制以下内容替换即可。

wp_enqueue_script('app', $core_lib_basepath . '/js/app.js', array('polyfills'), fileatime(get_template_directory() . '/js/app.js'), true);

image-20221207185231490

关于wp_enqueue_script函数,简单讲解一下,这个函数主要是引入js文件的,引入css文件的话则使用wp_enqueue_style函数。

这里的filemtime()函数,里面放的是文件路径,具体路径根据实际情况引入,如果使用绝对路径的话可能会报错,这里使用get_template_directory()即可。