我无法将Suggest.js加入前端-未添加

时间:2016-04-16 作者:Kleeia

我的建议。前端未添加js。除此之外,所有脚本都已正确加载。我只想在frontpage上加载它,以便:

add_action(\'wp_enqueue_scripts\', \'homescripts\');
function homescripts()  
{ 
   if (is_front_page()):
   wp_enqueue_script(\'suggest\');
   endif;
}
在我家的html中

<script>
jQuery("#my_input").suggest("<?php echo get_bloginfo(\'wpurl\'); ?>/wp-admin/admin-ajax.php?action=ajax-tag-search&tax=my_taxonomy", {multiple:true, multipleSep: ","});
</script>
在哪里#my_input 是我想要的带有建议和tax=my_taxonomy 是源分类法。

我在做什么?提前谢谢。

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

如果您已确认WP的本机“建议”脚本实际上已正确呈现在页面上(即,您正在使用主页与首页的正确模板),有时为了避免页面上的脚本冲突,您需要将脚本包装在匿名函数中。比如:

<script>
(function($) {
    $("#my_input").suggest("<?php echo get_bloginfo(\'wpurl\'); ?>/wp-admin/admin-ajax.php?action=ajax-tag-search&tax=my_taxonomy", {
        multiple: true,
        multipleSep: ","
    });
})(jQuery)
</script>
理想情况下,这也应该分离为自己的。js文件,并在上正确注册/排队wp_enqueue_scripts 将“suggest”声明为依赖项的挂钩:

wp_enqueue_script( \'my-suggest\', \'path/to/my-suggest.js\', array( \'suggest\' ), false, true );