无法使用我的自定义插件正确运行脚本

时间:2021-05-22 作者:Paweł

我是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\');

1 个回复
最合适的回答,由SO网友:Paweł 整理而成

我发现了这一点,也许它会对某人有所帮助-也许,我的脚本是在头上加载的,所以html是在脚本启动后加载的。我所做的就是添加了这几个参数,其中最后一个“true”是最重要的(将脚本移动到页脚)。希望这对任何人都有帮助

  wp_enqueue_script(\'js-file\', plugin_dir_url(__FILE__).\'/js/plugin_pj_script.js\', \'\', \'1.0.0\', true);