猿问

只有第一个“if 函数”派生最新版本的 .js 页面(wordpress)?

以下用于将最新版本的 .js 页面加载到 WordPress 页面上。第一组(资产1)工作正常。但是第二个函数无法加载最新版本的js页面,只能加载原来的。我希望这两个函数都能派生最新版本的 .js 页面,我需要更改什么才能做到这一点?


function load_js_assets1() {

    if( is_page( 'Example Page 1' ) ) {

        $datetime = new DateTime('now');

        $revision = $datetime->format("YmdHis"); 

        wp_enqueue_script('example1.js?'.$revision, 'http://website.com/example1.js', array('jquery'), '', false);

    }

}

add_action('wp_enqueue_scripts', 'load_js_assets1');

function load_js_assets2() {

    if( is_page( 'Example Page 2' ) ) {

        $datetime = new DateTime('now');

        $revision = $datetime->format("YmdHis"); 

        wp_enqueue_script('example2.js'.$revision, 'http://website.com/example2.js', array('jquery'), '', false);

    }

}


阿晨1998
浏览 85回答 2
2回答

撒科打诨

夫妇的事情。您可以将版本/修订添加到排队钩子本身,因此您不必担心将版本连接到文件名并意外排除“?”等字符。钩子会为你做到这一点。您缺少第二个函数的 add_action 。您应该将两个 if 语句组合到同一个函数中。尝试这样的事情:<?phpfunction load_js_assets() {&nbsp; &nbsp; // Declare your revision variables once&nbsp; &nbsp; $datetime = new DateTime('now');&nbsp; &nbsp; $revision = $datetime->format("YmdHis");&nbsp;&nbsp; &nbsp; // Test against first statement.&nbsp; If true enqueue the first script&nbsp; &nbsp; if( is_page( 'Example Page 1' ) ) {&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; wp_enqueue_script('example1.js', 'http://website.com/example1.js', array('jquery'), $revision, false);&nbsp; &nbsp; }&nbsp; &nbsp; // Test against second statement.&nbsp; If true enqueue the second script&nbsp; &nbsp; if( is_page( 'Example Page 2' ) ) {&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; wp_enqueue_script('example2.js', 'http://website.com/example2.js', array('jquery'), $revision, false);&nbsp; &nbsp; }&nbsp; &nbsp; // Do more if needed...}add_action('wp_enqueue_scripts', 'load_js_assets');

慕虎7371278

您缺少第二个脚本add_action,这可能是第二个脚本无法正确加载的原因。试试这个代码,它使用两个函数,add_action如果您在您希望使用它们的页面上:function load_js_assets1() {&nbsp; &nbsp;$datetime = new DateTime('now');&nbsp; &nbsp;$revision = $datetime->format("YmdHis");&nbsp;&nbsp; &nbsp;wp_enqueue_script('example1.js?'.$revision, 'http://website.com/example1.js', array('jquery'), '', false);}function load_js_assets2() {&nbsp; &nbsp;$datetime = new DateTime('now');&nbsp; &nbsp;$revision = $datetime->format("YmdHis");&nbsp;&nbsp; &nbsp;wp_enqueue_script('example2.js'.$revision, 'http://website.com/example2.js', array('jquery'), '', false);}if( is_page( 'Example Page 1' ) ) {&nbsp; &nbsp; add_action('wp_enqueue_scripts', 'load_js_assets1');}if( is_page( 'Example Page 2' ) ) {&nbsp; &nbsp; add_action('wp_enqueue_scripts', 'load_js_assets2');}
随时随地看视频慕课网APP
我要回答