[英]Using wp_enqueue in Wordpress
我求助于这个很棒的社区,经过几天的尝试修复这个错误,我的问题真的很简单,但它已经到了我身上。 我正在尝试在使用进化主题时将 Java 脚本排队到我的主题我的登录插件中。
这是执行此操作的代码片段,我使用全局函数来检查该函数是否正在加载,并且没有被加载。 'a' 不会变为真。
出于某种原因,它看起来像 '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'] ?>;
谢谢指教
您应该查看文档或其他插件的文件、在线演练等,以了解更多信息。 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 文件所在的目录更改“js/custom.js”。
另一种选择,如果这被证明太难了,那就是在你的footer.php 的底部放置一个指向JS 文件的直接链接。 像<script src="/path/to/my/file.js"></script>
。
不过,我确实发现排队脚本有时有点奇怪,希望这可以帮助您弄清楚。
因此,为了让您的入队工作,您需要在您的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');
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.