我使用html,css和javascript创建了具有两种模式的标头。将它们链接到html文档中。
我已经决定创建一个wordpress主题,并将包含上述标题。我遵循的是Wordpress的主题开发者手册,并只是将代码复制并粘贴到header.php等需要的地方。
因为这样做更合适,所以我创建了一个functions.php文件,并使用wp_enqueue_script添加了我的JavaScript。它不起作用。当我说不起作用时,我的意思是它甚至没有加载到页面上。
functions.php
<?php
function k9stormdomestictheme_script_enqueue() {
wp_enqueue_style( 'k9stormdomesticstyle', get_stylesheet_uri() );
wp_enqueue_script( 'k9stormdomesticscript', get_template_directory_uri() . '/js/script.js', array (), 1.1, true);
}
add_action('wp_enqueue_scripts', 'k9stormdomestictheme_script_enqueue');
?>
index.php
<?php
get_header();
get_footer();
?>
script.js
var modalBtns = [...document.querySelectorAll(".button")];
modalBtns.forEach(function(btn){
btn.onclick = function() {
var modal = btn.getAttribute('data-modal');
document.getElementById(modal).style.display = "block";
}
});
var closeBtns = [...document.querySelectorAll(".close")];
closeBtns.forEach(function(btn){
btn.onclick = function() {
var modal = btn.closest('.modal');
modal.style.display = "none";
}
});
window.onclick = function(event) {
if (event.target.className === "modal") {
event.target.style.display = "none";
}
}
我非常感谢您的帮助。非常感谢你!
javascript参考方案
实际上,您实际上并没有将所有外部脚本放入您的functions.php文件中。您需要引用文件的路径作为wp_enqueue_script
方法的第二个参数。
get_template_directory_uri()
只是告诉方法转到主题文件夹的根目录,而没有指定要排队的javascript文件。它看起来应该像这样:
<?php
function k9stormdomestictheme_script_enqueue() {
wp_enqueue_style( 'style', get_stylesheet_uri() );
wp_enqueue_script( 'script', get_template_directory_uri() . '*the-remaining-path-to-your-js-file*' );
}
add_action('wp_enqueue_scripts', 'k9stormdomestictheme_script_enqueue');
?>
作为参考,请检查WordPress代码参考上wp_enqueue_script函数的parameter部分:
https://developer.wordpress.org/reference/functions/wp_enqueue_script/#parameters
更新:2019/06/20
由于已将其标识为子主题,因此您需要指向CHILD主题的脚本源目录。
使用get_template_directory_uri()
引用将指向父主题的目录,而不是子主题实例,而get_stylesheet_uri()
指向子主题的样式表(style.css)文件。
这是最终参考的外观:
<?php
function k9stormdomestictheme_script_enqueue() {
wp_enqueue_style( 'k9stormdomesticstyle', get_stylesheet_uri() );
wp_enqueue_script( 'k9stormdomesticscript', get_stylesheet_uri() . '/js/script.js', array (), 1.1, true);
}
add_action('wp_enqueue_scripts', 'k9stormdomestictheme_script_enqueue');
?>
提交初始化后删除某些帖子数据 - javascript在初始化提交之后但在将数据发送到处理页面之前,是否可以过滤$ _POST表单数据?我想象过程的方式:提交->收集$ _POST数据->发送数据我想做的事:提交->收集$ _POST数据->删除某些元素->发送数据这样就不必更改处理页面以过滤掉不希望接收的元素了吗? javascript大神给出的解决方案 当然可以,您可以在JS …
如何使用Javascript将字典列表解析为JSON格式? - javascript我正在尝试解析JSON格式的词典列表,以便可以使用它们的数据创建一组列表项,其中使用此数据生成文本和ID。我将以下内容传递到我的网页,并在投放之前将其存储在隐藏的div中: [{'text': 'org1', 'id': 'org1ID'}, {'text':…
如何在没有for循环的情况下在Javascript中使用Django模板标签 - javascript我想在JavaScript中使用模板变量:我的问题是在javascript代码中使用for循环,for循环之间的所有事情都会重复..但我不想要....下面粘贴了我的代码..有人可以告诉我更好的方法吗这..因为这看起来很丑..这是我的代码: {% block extra_javascript %} <script src="/static/js…
将字符串值添加到php / javascript - javascript您好,我有一些代码需要在其中插入一些字符串值,但是每次我输入字母时,脚本都无法正常工作。<script type="text/javascript"> "use strict"; var values = [1,2,3,4,5,6,7,8,9]; /*add string values here*/ var…
使用C#和JavaScript绑定HTML - javascript我想从C#绑定HTML。我尝试了下面的代码HtmlTextWriter.write("<a onclick=\"window.open('', '_blank', 'location=yes,height=570,width=520,scrollbars=yes,status=yes…