Javascript Wordpress有条件地加载缩小的脚本
我有一个脚本,我只想在有人在 我像这样加载脚本Functions.php:Javascript Wordpress有条件地加载缩小的脚本,javascript,php,jquery,wordpress,Javascript,Php,Jquery,Wordpress,我有一个脚本,我只想在有人在 我像这样加载脚本Functions.php: function my_assets() { wp_enqueue_script( 'footerlinks', get_stylesheet_directory_uri() . '/js/footerlinks.js', array( 'jquery' ), '1.0', true ); wp_enqueue_script( 'gallery', get_stylesheet_directory_uri() . '/
function my_assets() {
wp_enqueue_script( 'footerlinks', get_stylesheet_directory_uri() . '/js/footerlinks.js', array( 'jquery' ), '1.0', true );
wp_enqueue_script( 'gallery', get_stylesheet_directory_uri() . '/js/gallery.js', array( 'jquery' ), '1.0', true );
wp_enqueue_script( 'about', get_stylesheet_directory_uri() . '/js/about.js', array( 'jquery' ), '1.0', true );
wp_enqueue_script( 'legal', get_stylesheet_directory_uri() . '/js/legal.js', array( 'jquery' ), '1.0', true );
if ( !is_page( 490 ) ) {
wp_dequeue_script('about');
}
if ( !is_page( 29804 ) ) {
wp_dequeue_script('legal');
}
if ( !is_page( 24574 ) ) {
wp_dequeue_script('gallery');
}
}
add_action( 'wp_enqueue_scripts', 'my_assets' );
<!-- Script for making legal blurbs clickable to display one at a time -->
jQuery(document).ready(function(){
jQuery(".legaltab").hide();
console.log("legal script running");
var tprivacy = document.createAttribute("target");
var ttc = document.createAttribute("target");
var tdisclaimer = document.createAttribute("target");
var bprivacy = document.getElementById("bprivacy");
tprivacy.value = "sprivacy";
bprivacy.setAttributeNode(tprivacy);
var btc = document.getElementById("btc");
ttc.value = "stc";
btc.setAttributeNode(ttc);
var bdisclaimer = document.getElementById("bdisclaimer");
tdisclaimer.value = "sdisclaimer";
bdisclaimer.setAttributeNode(tdisclaimer);
jQuery(".legalblurb").click(function(){
console.log("inside link button function");
jQuery(".legaltab").hide();
jQuery("#"+ jQuery(this).attr("target") ).show();
});
});
这段代码可以工作,但我也在缩小和连接脚本。当我完成这一部分时,脚本并没有变成工作,但它仍然在页面中加载,没有任何错误
以下是脚本legal.js:
function my_assets() {
wp_enqueue_script( 'footerlinks', get_stylesheet_directory_uri() . '/js/footerlinks.js', array( 'jquery' ), '1.0', true );
wp_enqueue_script( 'gallery', get_stylesheet_directory_uri() . '/js/gallery.js', array( 'jquery' ), '1.0', true );
wp_enqueue_script( 'about', get_stylesheet_directory_uri() . '/js/about.js', array( 'jquery' ), '1.0', true );
wp_enqueue_script( 'legal', get_stylesheet_directory_uri() . '/js/legal.js', array( 'jquery' ), '1.0', true );
if ( !is_page( 490 ) ) {
wp_dequeue_script('about');
}
if ( !is_page( 29804 ) ) {
wp_dequeue_script('legal');
}
if ( !is_page( 24574 ) ) {
wp_dequeue_script('gallery');
}
}
add_action( 'wp_enqueue_scripts', 'my_assets' );
<!-- Script for making legal blurbs clickable to display one at a time -->
jQuery(document).ready(function(){
jQuery(".legaltab").hide();
console.log("legal script running");
var tprivacy = document.createAttribute("target");
var ttc = document.createAttribute("target");
var tdisclaimer = document.createAttribute("target");
var bprivacy = document.getElementById("bprivacy");
tprivacy.value = "sprivacy";
bprivacy.setAttributeNode(tprivacy);
var btc = document.getElementById("btc");
ttc.value = "stc";
btc.setAttributeNode(ttc);
var bdisclaimer = document.getElementById("bdisclaimer");
tdisclaimer.value = "sdisclaimer";
bdisclaimer.setAttributeNode(tdisclaimer);
jQuery(".legalblurb").click(function(){
console.log("inside link button function");
jQuery(".legaltab").hide();
jQuery("#"+ jQuery(this).attr("target") ).show();
});
});
jQuery(文档).ready(函数(){
jQuery(“.legaltab”).hide();
console.log(“合法脚本运行”);
var tprivacy=document.createAttribute(“目标”);
var ttc=document.createAttribute(“目标”);
var tdisclaimer=document.createAttribute(“目标”);
var bprivacy=document.getElementById(“bprivacy”);
tprivacy.value=“sprivacy”;
b私有性。setAttributeNode(tprivacy);
var btc=document.getElementById(“btc”);
ttc.value=“stc”;
btc.setAttributeNode(ttc);
var bdisclaimer=document.getElementById(“bdisclaimer”);
tdisclaimer.value=“sdisclaimer”;
b disclaimer.setAttributeNode(tdisclaimer);
jQuery(“.legalblurb”)。单击(函数(){
console.log(“内部链接按钮功能”);
jQuery(“.legaltab”).hide();
jQuery(“#”+jQuery(this.attr(“target”)).show();
});
});
我装错了吗?其他一些问题讨论了咕噜或咕噜,但我不确定它们是否相同。这对你来说很奇怪,你为什么不这样做:
wp_register_script( 'gallery', get_stylesheet_directory_uri() . '/js/gallery.js', array( 'jquery' ), '1.0', true );
if ( is_page( 24574 ) ) {
wp_enqueue_script('gallery');
}
minify工具基于wp_enqueue_脚本函数工作首先检查您是否正在使用任何缓存插件。如果您正在使用任何类似的插件,请禁用它。清除浏览器缓存。在那之后,让你的代码像这样
wp_register_script( 'gallery', get_stylesheet_directory_uri() . '/js/gallery.js', array( 'jquery' ), '1.0', true );
if ( is_page( 'gallery' ) ) {
wp_enqueue_script('gallery');
}
它应该适合您。您的JS中有错误。例如,在
legal.js
中,您有:
<!-- Script for making legal blurbs clickable to display one at a time -->
或
我看了一下你在网站上编译的JS,在JS中看到了另一条糟糕的评论:
<!--Script for footer links that take you everywhere else-->
感谢您的回复,我已经实现了您关于加载脚本的建议,并使用chrome检查了匿名模式。当文件缩小时仍将不会加载。感谢您就如何有条件地正确加载脚本提出的建议。当它被缩小时仍然不起作用。谢谢你,瑞克什,我已经复制并粘贴了你的代码,并从两个文件中删除了不好的注释。缩小后的脚本仍然无法加载,但您是否查看了其他文件?有两个(和)缩小的JavaScript文件正在加载,当我粘贴它们时,它们仍然会显示很多警告。非常感谢,我将所有脚本缩小到一个文件中,这导致了问题,它们应该缩小并连接到一个文件中。但是你的代码应该是干净的,这样当它们被缩小时就不会被破坏。你能给我指出一个正确的方向吗?我该如何让所有的脚本在同一个文件中运行良好?我记得C++中只有1个“主”函数,但Js对我来说是全新的。我想我可以从一个脚本开始,在jsHint中测试,将另一个脚本放在同一个文件中,然后再次测试并重复,直到所有脚本都正常工作。
/*globals jQuery*/
/* Script for making legal blurbs clickable to display one at a time */
jQuery(document).ready(function($){
'use strict';
$(".legaltab").hide();
console.log("legal script running");
var tprivacy = document.createAttribute("target");
var ttc = document.createAttribute("target");
var tdisclaimer = document.createAttribute("target");
var bprivacy = document.getElementById("bprivacy");
tprivacy.value = "sprivacy";
bprivacy.setAttributeNode(tprivacy);
var btc = document.getElementById("btc");
ttc.value = "stc";
btc.setAttributeNode(ttc);
var bdisclaimer = document.getElementById("bdisclaimer");
tdisclaimer.value = "sdisclaimer";
bdisclaimer.setAttributeNode(tdisclaimer);
$(".legalblurb").click(function(){
console.log("inside link button function");
$(".legaltab").hide();
$("#"+ $(this).attr("target") ).show();
});
});