26 10 10 Programistyczne wyłączenie komentarzy dla wpisów i stron w Wordpresie
Przeglądając jedno z forów na temat Wordpresa natrafiłem na problem odnoszący się do domyślnego wyłączenia komentarzy dla wpisów.
Wygląda na to, że tego typu zmiana wciąż sprawia sporej liczbie użytkowników Wordpresa znaczne problemy.
W nieniejszym wpisie przedstawię jak z pomocą kilku linii kodu PHP wyłączyć komentarze dla wpisów i stron w Wordpresie.
W Wordpresie nie wykonuje się żadnych zmian zmieniając pliki silinika. Do modyfikacji jego działania służą filtry i akcje.
W tym wpisie, podobnie jak w kilku wcześniejszych, wykorzystam filtr aby zmodyfikowac informacje o wpisie (lub stronie) przed jego zapisem do bazy danych.
Wyłączenie komentarzy dla wpisów
Domyślnie w Wordpresie komentarze są włączone, aby je wyłączyć należy zrobić to ręcznie podczas edycji wpisu. Niezbyt miła perspektywa, zwłaszcza dla zapominalskich.
Aby programistycznie wyłączyć komentarze we wszystkich wpisach należy zmodyfikować obiekt $post a dokładniej jego własność o nazwie comment_status.
add_filter('comment_status_pre','disable_comments_for_posts');
function disable_comments_for_posts($comment_status){
global $post;
if($post -> post_type == 'post'){
$comment_status = 'closed';
}
return $comment_status;
}
W powyższym przykładzie wykorzystałem akcję o nazwie comment_status_pre i dodałem do niej funkcję disable_comments_for_posts. To właśnie w niej zmodyfikowałem własność comment_status obiektu $post ustawiając jej wartość do 'closed'.
Wyłączenie komentarzy dla stron
Podobny, aczkolwiek lekko zmieniony kod można zastosować do wyłączenia komentarzy dla stron (co pewnie dla niektórych może być bardziej użyteczne niż poprzedni przypadek).
add_filter('comment_status_pre','disable_comments_for_pages');
function disable_comments_for_pages($comment_status){
global $post;
if($post -> post_type == 'page'){
$comment_status = 'closed';
}
return $comment_status;
}
Pierwszy i/lub drugi przykład aby zadziałał powienien być umieszczony w pliku function.php lub pliku wtyczki (o ile chcemy aby był on niespecyficzny dla motywu).
I to by chyba było na tyle co do wyłączania komentarzy dla wpisów i stron w Wordpresie.
Autor wpisu jest blogerem, programistą PHP, administratorem Linux oraz twórcą blogów
RSS Subskrybuj wpisy bloga