2015-07-12 51 views
0

如何禁用Wordpress中特定類別的評論表單。 我的意思是,用戶將發佈在這個類別的每一篇文章都不會有評論表單內容。如何禁用wordpress中特定類別的評論?

+2

你已經試過了什麼?另外,您是否可以禁止在Wordpress編輯器中對每個帖子級別的評論? – terrorfall

+0

不幸的是,我找不到可用於禁用特定類別評論的功能...... –

+0

您是否可以禁止在Wordpress編輯器中針對每個帖子級別的評論? - >不,因爲我想在開發層做到這一點。 –

回答

0

而不是在functions.php中這樣做,你可以創建兩個模板文件。第一個模板文件是標準主題模板,第二個模板文件是相同的,除了它不包含評論代碼部分。

只需將沒有評論代碼塊category_ {id} .php的模板文件命名並上傳到您的主題文件夾即可。該ID是您要禁用評論的類別的ID。在此類別的特定模板

更多信息https://developer.wordpress.org/themes/basics/template-hierarchy/#category

對這裏的評論模板https://codex.wordpress.org/Function_Reference/comments_template

更多信息,如果您仍想通過functions.php中要做到這一點,看到這篇博客文章http://spicemailer.com/wordpress/disable-hide-comments-posts-specific-categories/它使用下面的代碼snippet

add_action('the_post', 'st_check_for_closed'); 

function st_check_for_closed() 
{ 

global $post; 

$my_post_cat = wp_get_post_categories($post->ID); 


$disabled_cat = array("1", "3"); // this is he array of disabled categories. Feel free to edit this line as per your needs. 


$my_result = array_intersect($my_post_cat,$disabled_cat); 

    if (empty ($my_result)) 
        { 
     return; 
        } 

    else { 
      add_filter('comments_open', 'st_close_comments_on_category', 10, 2); 
      add_action('wp_enqueue_scripts', 'st_deregister_reply_js'); 

     } 
} 

     function st_deregister_reply_js() 
    { 
    wp_deregister_script('comment-reply'); 

    } 


    function st_close_comments_on_category ($open, $post_id) 
    { 
     $open = false; 
    } 
+0

這是一個非常有用的想法。但我認爲wordpress開發人員足夠聰明,可以創建這個功能,我可以使用它來禁用特定類別,帖子或頁面的評論。 –