wordpress ...切换新的comment_form

时间:2016-06-29 08:13:16

标签: jquery html wordpress

我正在尝试使用jQuery onclick插入一个用于切换comment_form的链接,但它不起作用...

在我的comments.php中,我在comment_form()周围添加了以下html:

      <p>BEFORE FORM</p>
      <a style="cursor:pointer" onclick="jQuery('#add-comment).toggle();">Toggle comment-form</a>
      <div id="add-comment" style:"display:none;">

        <?php $comments_args = array(
        ....
        );
        comment_form($comments_args);
        ?>

      <p>AFTER FORM</p>       
      </div>

为了确保加载jQuery,我在functions.php中添加了以下代码

if (!is_admin()) add_action("wp_enqueue_scripts", "my_jquery_enqueue", 11);
function my_jquery_enqueue() {
   wp_deregister_script('jquery');
   wp_register_script('jquery', "http" . ($_SERVER['SERVER_PORT'] == 443 ? "s" : "") . "://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js", false, null);
   wp_enqueue_script('jquery');
}

链接已正确显示但表单未隐藏且切换未激活。 我哪里错了?

1 个答案:

答案 0 :(得分:0)

两个错误:

您缺少结束语:

<a style="cursor:pointer" onclick="jQuery('#add-comment').toggle();">Toggle comment-form</a>
                                                       ^-- here 

会导致语法错误。除此之外,您需要=而不是:

<div id="add-comment" style="display:none;">
                           ^- here

这就是为什么表单一开始就不隐藏的原因。

修复了这两个错误后,它可以运行:

&#13;
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>BEFORE FORM</p>
      <a style="cursor:pointer" onclick="jQuery('#add-comment').toggle();">Toggle comment-form</a>
      <div id="add-comment" style="display:none;">

        Comment form

      <p>AFTER FORM</p>       
      </div>
&#13;
&#13;
&#13;