在 Wordpress 中使用wp_enqueue

Using wp_enqueue in Wordpress

本文关键字:wp enqueue Wordpress      更新时间:2023-09-26

我转向这个很棒的社区,经过几天的尝试修复这个错误,我的问题非常简单,但它已经到了我身上。我正在尝试在使用进化主题时将 Java 脚本排队到我的登录插件主题。

这是这样做的代码片段,我使用 global 函数来检查函数是否正在加载,并且没有加载。"a"不会更改为 true。

出于某种原因,它看起来像"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'] ?>;

感谢建议

链接 http://www.meetntrain.com/register

因此,为了使您的队列正常工作,您需要在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');
    }
}

您应该查看文档或其他插件的文件、在线演练等,以了解更多信息。 wp_enqueue_scripts是你用来加载Javascript的一个钩子,你有基本的正确想法,但是在你的函数中尝试一些类似的东西.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文件的任何位置。

另一种选择,如果这被证明太难,是在页脚的底部放置一个指向JS文件的直接链接.php。喜欢<script src="/path/to/my/file.js"></script>.

不过,我确实发现排队脚本有时有点奇怪,希望这可以帮助您弄清楚。