尝试在主页和底部发布一点Java脚本

时间:2019-03-20 作者:Henry

  <script type="text/javascript">

  function toggleDiv() {
    var triggeredDiv = document.querySelector(\'.triggeredDiv\');
    if (document.getElementById(\'myonoffswitch\').checked) {
      triggeredDiv.classList.remove(\'shown\');
    } else {
      triggeredDiv.classList.add(\'shown\');
    }
  }
  document.getElementById(\'myonoffswitch\').addEventListener("change", toggleDiv);

  </script>
我需要在主页底部打印这个Javascript小片段。。。

我知道我可以用functions.php 命令如下:

function for_homepage() {
    return \'JavaScript HERE\';
}
add_shortcode(\'for_homepage\', \'for_homepage\');
然后我的短代码是[for_homepage] 但我不认为这是最好的方法——我认为最好是对剧本进行修饰?

此外,出于速度原因,我是否应该直接将其打印在页面上(在需要的底部以便工作)?

谢谢

顺便说一句,这是为了让交换机工作:https://proto.io/freebies/onoff/

++++++

UPDATE

我认为这可能是更好的方法:

function add_inline_script() {
  echo "<script>/* do awesome things */</script>\\n";
}
add_action( \'wp_head\', \'add_inline_script\', 0 );
然而,我会改变wp_head 到正确的页脚函数。。。

这是最好的方法吗?

1 个回复
SO网友:Chinmeh

您可以使用这些功能is_front_page()或is_home()取决于您的主页。也可以使用wp\\U头代替wp_enqueue_scripts您的代码将如下所示

function add_inline_script() {
    if(is_home() || is_front_page)
    wp_enqueue_script(\'js-handler-name\', \'js-url\');
}
add_action( \'wp_enqueue_scripts\', \'add_inline_script\');