只有第一个 "if function" 派生最新版本的 .js 页面 (wordpress)?
Only the first "if function" derives latest version of a .js page (wordpress)?
以下用于将最新版本的.js页面加载到wordpress页面上。第一组 (assets1) 工作正常。但是第二个函数加载最新版本的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);
}
}
您缺少第二个 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');
}
两件事。
您可以将 version/revision 添加到入队挂钩本身,这样您就不必担心将版本连接到文件名并意外排除诸如“?”之类的字符。挂钩会为您做到这一点。
您在第二个函数中缺少 add_action。
您应该将两个 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');
以下用于将最新版本的.js页面加载到wordpress页面上。第一组 (assets1) 工作正常。但是第二个函数加载最新版本的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);
}
}
您缺少第二个 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');
}
两件事。
您可以将 version/revision 添加到入队挂钩本身,这样您就不必担心将版本连接到文件名并意外排除诸如“?”之类的字符。挂钩会为您做到这一点。
您在第二个函数中缺少 add_action。
您应该将两个 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');