为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
阿晨1998 2023-08-06 14:40:57
以下用于将最新版本的 .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);    }}
查看完整描述

2 回答

?
撒科打诨

TA贡献1934条经验 获得超2个赞

夫妇的事情。

  1. 您可以将版本/修订添加到排队钩子本身,因此您不必担心将版本连接到文件名并意外排除“?”等字符。钩子会为你做到这一点。

  2. 您缺少第二个函数的 add_action 。

  3. 您应该将两个 if 语句组合到同一个函数中。

尝试这样的事情:

<?php

function load_js_assets() {


    // Declare your revision variables once


    $datetime = new DateTime('now');

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


    // Test against first statement.  If true enqueue the first script


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

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

    }


    // Test against second statement.  If true enqueue the second script


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

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

    }


    // Do more if needed...


}

add_action('wp_enqueue_scripts', 'load_js_assets');


查看完整回答
反对 回复 2023-08-06
?
慕虎7371278

TA贡献1802条经验 获得超4个赞

您缺少第二个脚本add_action,这可能是第二个脚本无法正确加载的原因。试试这个代码,它使用两个函数,add_action如果您在您希望使用它们的页面上:


function load_js_assets1() {

   $datetime = new DateTime('now');

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

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

}


function load_js_assets2() {

   $datetime = new DateTime('now');

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

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

}


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

    add_action('wp_enqueue_scripts', 'load_js_assets1');

}


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

    add_action('wp_enqueue_scripts', 'load_js_assets2');

}


查看完整回答
反对 回复 2023-08-06
  • 2 回答
  • 0 关注
  • 84 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信