我转向这个令人敬畏的社区,在几天尝试修复这个错误后,我的问题非常简单,但它已经找到了我。我正在尝试将Java脚本排入我的主题我的登录插件,同时使用evolve主题。
这是执行该操作的代码片段,我使用全局函数来检查函数是否正在加载,并且没有加载。 '一个'不会变为真。
出于某种原因,它看起来像wp_enqueue_scripts不起作用。我试图添加wp_head()但没有运气。
<?php
$GLOBALS['a'] = 'false';
add_action( 'wp_enqueue_scripts', 'load_location' );
function load_location() {
$GLOBALS['a'] = 'true';
wp_register_script('load_location_test',get_template_directory_uri().'/load_location.js', array('jquery'),'1.1',true);
wp_enqueue_script('load_location_test');
}
?>
<?php echo $GLOBALS['a'] ?>;
&#13;
感谢您的建议
答案 0 :(得分:0)
您应该查看文档或其他插件的文件,在线演练等,以了解更多信息。 wp_enqueue_scripts是你用来加载你的Javascript的一个钩子,你有一个基本的正确的想法,但在你的functions.php中尝试更多这样的东西:
function my_custom_scripts() {
wp_register_script( 'custom-js', 'js/custom.js' );
wp_enqueue_script( 'custom-js', 'js/custom.js', false );
}
add_action( 'wp_enqueue_scripts', 'my_custom_scripts' );
更改“js / custom.js”以获取目录中JS文件的位置。
另一种选择,如果证明这太难了,就是直接链接到footer.php底部的JS文件。与<script src="/path/to/my/file.js"></script>
一样。
我确实发现排队脚本有时会有点奇怪,希望这有助于你弄明白。
答案 1 :(得分:0)
因此,为了让您的队列成功,您需要在functions.php
文件或插件中添加代码。
add_action( 'wp_enqueue_scripts', 'load_location' );
function load_location() {
wp_register_script('load_location_test',get_template_directory_uri().'/load_location.js', array('jquery'),'1.1',true);
wp_enqueue_script('load_location_test');
}
这会将JS文件添加到您的所有页面。如果您想要定位特定页面,可以通过JavaScript或直接在PHP文件中进行。
如果您的主题使用body_class()
,则可以按类定位该特定页面。然后你应该把你的JS包装成:
if( $('body.classUsed').length ){
// Your JS code here
}
请注意,该文件仍会一直排队。或者,如果您只想将JS文件添加到指定页面,可以将其包装在is_page()
条件中:
add_action( 'wp_enqueue_scripts', 'load_location' );
function load_location() {
if( is_page('your-page') ){
wp_register_script('load_location_test',get_template_directory_uri().'/load_location.js', array('jquery'),'1.1',true);
wp_enqueue_script('load_location_test');
}
}