我是PHP / Wordpress / Javascript的新手,我正在尝试将使用CSS和HTML构建的网站转换为使用PHP for Wordpress的主题。
我有一个可以打开和关闭的屏幕外菜单。我在哪里将脚本放在我的Wordpress文件中?我该如何正确地做到这一点?
目前,我在我的header.css中复制了下面复制的HTML,并在我的style.css中复制了下面的CSS
这是我的菜单HTML:
<h1 class="menu">
<div id="mySidenav" class="sidenav">
<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×
</a>
<br>
<a href=""> - p o r t f o l i o</a> <br>
<a href=""> - m e e t m e</a><br>
<a href=""> - i n s t a </a><br>
<a href="#"> - p r i n t e d</a><br>
<a href="#"> - c i a o</a>
</div>
<div style="font-size:30px;cursor:pointer" class="openbtn" onclick="openNav()"> <img src="hamburger.png"/> </div>
</h1>
这是我的Javascript
<h1 class="menu">
function openNav() {
document.getElementById("mySidenav").style.width = "250px";
}
function closeNav() {
document.getElementById("mySidenav").style.width = "0";
}
</h1>
这是我的CSS
.sidenav {
height: 100%;
width: 0;
position: absolute;
z-index: 1;
top: 0;
left: 0;
background-color: #ffffff;
overflow-x: hidden;
padding-top: 70px;
transition: 0.5s;
opacity: 0.8;
}
.sidenav a {
padding: 8px 8px 8px 32px;
text-decoration: none;
font-size: 16px;
color: #000000;
display: block;
transition: 0.3s;
}
.sidenav a:hover, .offcanvas a:focus{
color: #BCBCBC;
}
.sidenav .closebtn {
position: absolute;
top: 0;
margin-left: 10px;
font-size: 36px;
padding-top: 11px;
}
.openbtn {
background-color: #fffff;
margin-right: 30px;
margin-top: 0;
padding-top: 0;
height: 45px;
}
.openbtn a:active{
color: #ffffff;
}
.menu {
width: 5%;
}
谢谢!
答案 0 :(得分:0)
在header.php
中,最好不要对其进行硬编码,并让创建页面的原生wordpress功能
查看https://codex.wordpress.org/Navigation_Menus
答案 1 :(得分:0)
您应该将这些脚本放入单独的文件中,然后使用wp_enqueue_script()来调用它:
wp_enqueue_script(
'offset-menu',
get_template_directory_uri() . '/js/offset-menu.js',
array( 'jquery' ),
'1.0',
true
);
您可以从here
了解更多信息答案 2 :(得分:0)
向Wordpress网站添加脚本的正确方法是注册它们并将它们排入队列。 Wordpress保留了一个在页面加载时应该执行的脚本列表。通过注册和排队脚本,您可以将它们添加到此列表中,为它们提供执行优先级,确定它们是否在页眉/页脚中加载等等。注册和排队脚本应该通过wp_enqueue_scripts动作钩子完成。将函数附加到该挂钩后,使用wp_enqueue_script和函数然后wp_register_script函数分别注册和排入脚本。
让我举个例子。将以下代码粘贴到主题的functions.php文件中:
function add_menu_scripts()
{
wp_register_script( 'menuScript', get_template_directory_uri() .'/js/menu.js', array(), null, TRUE);
wp_enqueue_script( 'menuScript' );
}
add_action( 'wp_enqueue_scripts', 'add_menu_scripts' );
此代码块会将add_menu_scripts
函数添加到wp_enqueue_scripts
操作挂钩。在add_menu_scripts
函数内部,你可以看到我们给你的文件一个句柄名(一个昵称),指定文件位置,添加依赖项(在这种情况下没有,所以空数组给出),给出文件一个版本(这是可选的,所以我传递的是NULL),最后指定脚本应该加载到页脚中。