将jQuery实现为wordpress插件的问题

时间:2015-12-16 15:23:07

标签: javascript php jquery html wordpress

我正在尝试在我的Wordpress插件中实现一些jquery脚本,但我一直收到错误。

  

未捕获的ReferenceError:未定义jQuery。

在我的控制台中。我已经尝试在我的插件中排队jquery,但这也没有帮助。这是我正在使用的代码。

function sale_price_change() {
echo '
<script type="text/javascript">
            (function($) {  
                $(document).ready(function () {
                    $(".products .outofstock a .price").text("' . get_option('soldout_label_price') . '");
                    });
                })(jQuery);
</script>
';
}
add_action( 'init', 'sale_price_change' );

代码本身以前有用,但不知怎的,我仍然不断收到此错误。知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

您应该考虑将这些脚本正确排入队列(将自定义JS放在外部.js文件中)。另一种方法是在wp_enqueue_scripts action hook中排队jQuery,然后在wp_footer中排队:

function so_34315785_enqueue_jquery() {
    wp_enqueue_script('jquery');
}
add_action( 'wp_enqueue_scripts', 'so_34315785_enqueue_jquery' );

function so_34315785_print_scripts() {
    echo '
        <script type="text/javascript">
            (function($) {  
                $(document).ready(function () {
                    $(".products .outofstock a .price").text("' . get_option("soldout_label_price") . '");
                });
            })(jQuery);
        </script>
    ';
}
add_action( 'wp_footer', 'so_34315785_print_scripts', 25 );

答案 1 :(得分:-1)

你猜我可以包括jquery吗?也许不是超级漂亮的解决方案

<div class="container">
  <div class="one">
    One
  </div>
  <div class="two">
    Two
  </div>
  <div class="three">
    Three
  </div>
</div>