我是wordpress开发的新手。我想做的是将javascript添加到我的插件中。它似乎已加载,因为当我在控制台上登录“test”之类的东西时,它工作得很好。但当我尝试查询任何内容(例如document.querySelector(“#仅用于测试”)甚至(\'body\')时,它会返回“null”。。。
function addThemeStyles() {
wp_enqueue_style(\'style_file\' , plugin_dir_url(__FILE__).\'plugin_styles.css\');
}
function addThemeScript() {
wp_enqueue_script(\'js-file\', plugin_dir_url(__FILE__).\'plugin_pj_script.js\');
}
function todoPJ_enqueueBootstrapCSS()
{
// CSS
wp_register_style(\'prefix_bootstrap\', \'//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css\');
wp_enqueue_style(\'prefix_bootstrap\');
}
function testFunction() {
// $test = plugin_dir_path(\'styles.css\');
return \'
<div class="another-test-file" id="only-for-test">
<div class="container">
<div class="row">
<div class="col-6">
<h1>Hello World!</h1>
</div>
<div class="col-6">
<h1>Another Hello World!</h1>
</div>
</div>
</div>
</div>\';
}
add_action(\'wp_enqueue_scripts\', \'addThemeStyles\');
add_action(\'wp_enqueue_scripts\', \'addThemeScript\');
add_action(\'wp_head\', \'todoPJ_enqueueBootstrapCSS\');
add_shortcode(\'example\', \'testFunction\');
最合适的回答,由SO网友:Paweł 整理而成
我发现了这一点,也许它会对某人有所帮助-也许,我的脚本是在头上加载的,所以html是在脚本启动后加载的。我所做的就是添加了这几个参数,其中最后一个“true”是最重要的(将脚本移动到页脚)。希望这对任何人都有帮助
wp_enqueue_script(\'js-file\', plugin_dir_url(__FILE__).\'/js/plugin_pj_script.js\', \'\', \'1.0.0\', true);