WordPress的沙雕功能:自动缓存CSS/JS文件解决方法

发布于 2019-03-31  29 次阅读


怎么回事不说了,今天一下午以为是CDN的锅,又杀了CDN祭天,结果发现是WP的锅。。。。。

算了,直接正题

首先我们看看WP如何加载的静态文件哈:

文件:wp-includes/theme.php

function get_stylesheet_uri() {
    $stylesheet_dir_uri = get_stylesheet_directory_uri();
    $stylesheet_uri     = $stylesheet_dir_uri . '/style.css';
    return apply_filters( 'stylesheet_uri', $stylesheet_uri, $stylesheet_dir_uri );
}

我%你%的WordPress,好好地Get Url不用,写你%的Uri(粗鄙之语)

好的,他正常返回一个CSS路径文件。。。。好像没有什么问题。。。。
那就这样,换方法!

查看模版文件里用了get_stylesheet_uri()的代码。

文件functions.php 79行

if (akina_option('app_no_jsdelivr_cdn')) {
        wp_enqueue_style( 'saukra_css', get_stylesheet_uri(), array(), SAKURA_VERSION );
        wp_enqueue_script( 'app', get_template_directory_uri() . '/js/sakura-app.js', array(), SAKURA_VERSION, true );

吼,破案叻,是模版的锅,再次错怪WP叻((((

解决方法也很简单:
我是这样搞的((((

if (akina_option('app_no_jsdelivr_cdn')) {
        wp_enqueue_style( 'saukra_css', get_stylesheet_uri(), array(), SAKURA_VERSION.time() );
        wp_enqueue_script( 'app', get_template_directory_uri() . '/js/sakura-app.js', array(), SAKURA_VERSION, true );

沙雕解决问题叻((

爽到

(((诶诶诶诶诶,开发完了记得改回来啊(((((


きょうはじさついいのよいひですね~