[英]WordPress, adding custom JS and Foundation js
I am building my first WordPress theme and I am stuck on including JavaScripts on to the site. 我正在建立我的第一个WordPress主题,并且坚持将JavaScript包含在网站上。
I tried few different approaches adding it directly to the header hardcoaded and also in functions but it seams I can't get it to work. 我尝试了几种不同的方法,将其直接添加到硬编码的标头以及函数中,但它接缝使我无法正常工作。
Here is a line from functions.php 这是来自functions.php的一行
<?php
function _sf_scripts() {
wp_enqueue_script('foundation-js', get_template_directory_uri().'
/js /foundation.min.js', array( 'jquery' ), false, true);
wp_enqueue_script('foundation-init', get_template_directory_uri().'/js/foundation-orbit.js', array(), false, true);
wp_enqueue_script( 'menu-effect', get_template_directory_uri() . '/js/menu.js',
array(), '1.0.0', true );
}
add_action( 'wp_enqueue_scripts', '_sf_scripts' );
?>
If someone can help me out here I would really appreciate it, thanks you! 如果有人可以在这里帮助我,我将非常感谢,谢谢!
Header PHP 标题PHP
<head>
<meta charset="<?php bloginfo('charset'); ?>">
<meta name="viewport" content="width=device-width">
<title><?php wp_title('|', true, 'right'); ?><?php bloginfo('name');?></title>
<meta name="description" content="<?php bloginfo('description');?>">
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url');?>" />
<link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Droid+Serif' rel='stylesheet' type='text/css'>
<?php wp_head();?>
</head>
You have to actually initialize foundation in a separate JS file, or with the following code: 您必须在单独的JS文件中或使用以下代码实际初始化基础:
add_action( 'wp_footer', 'so20558071_foundation_init', 9999 );
function so20558071_foundation_init()
{
echo '<script>jQuery(document).foundation();</script>';
}
Try replacing: 尝试更换:
wp_enqueue_script('foundation-js', get_template_directory_uri().'/js/foundation.min.js', array( 'jquery' ), false, true);
With: 附:
wp_register_script('foundation-js', get_template_directory_uri()."/js/foundation.min.js", false, null);
wp_enqueue_script('foundation-js');
Do the same for the other scripts too. 对其他脚本也是如此。
And finally change 最后改变
add_action( 'wp_enqueue_scripts', '_sf_scripts' );
To 至
add_action('init', '_sf_scripts');
SOLUTION THAT WORKED FOR ME: 适用于我的解决方案:
FUNCTIONS PHP 功能PHP
<?php
function _sf_scripts() {
wp_enqueue_script('foundation-js', get_template_directory_uri().'
/js/foundation.min.js', array( 'jquery' ), false, true);
wp_enqueue_script('foundation-init', get_template_directory_uri().'/js/foundation-
orbit.js', array(), false, true);
wp_enqueue_script( 'menu-effect', get_template_directory_uri() . '/js/menu.js',
array(), '1.0.0', true );
}
add_action( 'wp_enqueue_scripts', '_sf_scripts' );
add_action( 'wp_footer', 'so20558071_foundation_init', 9999 );
function so20558071_foundation_init()
{
echo '<script>jQuery(document).foundation();</script>';
}
?>
FOOTER PHP 脚PHP
<!-- Java Scripts -->
<script>
document.write('<script src= <?php bloginfo('template_url'); ?>' +
('__proto__' in {} ? 'js/vendor/zepto' : 'js/vendor/jquery') +
'.js><\/script>')
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.