2016-06-29 29 views
0

我試圖插入一個鏈接切換使用jQuery的onclick的comment_form,但它不工作...WordPress的...切換新comment_form

在我的comments.php,我添加了下面的HTML各地在comment_form():

 <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'); 
} 

鏈接顯示正常,但形式不是隱藏和切換不激活.. 我在哪裏錯了?

+0

我建議對從外部來源裝載jQuery的。 WordPress帶來了自己修改過的jQuery,它可以被任何插件或主題加載,並且一旦加載完成(或者mootools或任何其他使用衝突變量的庫),就會遇到問題。堅持WordPress提供的jQuery。 –

+0

關於您的問題:您的瀏覽器JavaScript控制檯中的任何錯誤消息? –

回答

1

兩個錯誤:

你缺少收盤報價:

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

這將導致一個語法錯誤。除此之外,你需要的=代替:

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

這就是爲什麼形式不是隱藏在開始的原因。

有了這兩個錯誤固定它的工作原理:

<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>

+0

謝謝,你是對的,我剛剛發現它,我正在輸入我的回覆... 我通過測試一個簡單的警報('OK')發現了它; ... – erwin