Dzisiaj mamy dla Ciebie krótki, aczkolwiek bardzo przydatny poradnik. Dowiesz się z niego jak usunąć komentarze i/lub tagi HTML z WordPress bez wyłączania możliwości dyskusji użytkownikom. Zaczynamy.
Komentarze w WordPress – kompendium wiedzy
Domyślamy się, że wiesz czy m są komentarze w WordPress, jednak jeśli jest inaczej pozwól, że odeślemy Cię do kilku naszych poradników:
- Tutaj dowiesz się jak zarządzać komentarzami w WordPress
- W tym miejscu dowiesz się jak całkowicie wyłączyć komentarze w WP
Okej, teraz pewne zastanawiasz się po co opcja wyłączenia dodawania linków w WordPress skoro można wyłączyć same komentarze, prawda?
Pozwól, że damy Ci kilka powodów ku takiej decyzji:
- Pozostawienie komentarzy w postach pozwala czytelnikom angażować się w dyskusję.
- Możesz liczyć na dodatkowy, wartościowy content (ten zły zawsze możesz usunąć lub blokować np. Akismetem).
- Blokujesz możliwość dodawania spamerskich komentarzy poprzez usunięcie HTMLa z postów.
- Uniemożliwiasz dodawanie linków w postach (czasami spamerskich reklam).
- Poprawiasz SEO swojej strony bez utraty dobrego contentu.
Pomimo tego, że linki w komentarzach WordPress mają parametr nofollow należy pamiętać, że one także mają wartość SEO. Warto z nich zrezygnować, aby zadbać o linki wychodzące z Twojej domeny oraz uniknąć darmowej reklamy dla osób, które nie wnoszą wartości do dyskusji.
Ok, więc jak to zrobić? Mamy dla Ciebie kilka opcji.
Wyłączanie linków w komentarzach WordPress
Aby wyłączyć tylko linki w komentarzach w WordPress należy w pliku functions.php szablonu WP dodać ten kod na samym jego końcu:
remove_filter('comment_text', 'make_clickable', 9);
Zapisz plik, odśwież stronę i cache i sprawdź efekt. Komentarze w WordPress powinny być teraz już nieklikalne:
Jak wyłączyć tagi HTML w komentarzach WordPress?
W tej sytuacji, należy dodać inny kod do pliku functions.php:
add_action( 'admin_menu', 'remove_menus' , 100 ); // This will occur when the comment is posted function plc_comment_post( $incoming_comment ) { // convert everything in a comment to display literally $incoming_comment['comment_content'] = htmlspecialchars($incoming_comment['comment_content']); // the one exception is single quotes, which cannot be #039; because WordPress marks it as spam $incoming_comment['comment_content'] = str_replace( "'", ''', $incoming_comment['comment_content'] ); return( $incoming_comment ); } // This will occur before a comment is displayed function plc_comment_display( $comment_to_display ) { // Put the single quotes back in $comment_to_display = str_replace( ''', "'", $comment_to_display ); return $comment_to_display; }
Co konkretnie sprawi dodawanie takiego kodu? Nie tylko linki zostaną usunięte (nieaktywne), lecz także zostanie wyłączona możliwość stosowania pogrubień, kursywej, podkreśleń etc., czyli całego HTMLa w komentarzach. Komentarze powinny być merytoryczne, a nie bolącą w oczy reklamą.
Jak usunąć link autora w komentarzach WordPress?
Autor komentarza oprócz możliwości umieszczania go w treści ma także opcję dodania go do swojego nicka. Najprostszą i najbezpieczniejszą metodą na uniknięcie takiej sytuacji i usunięcie linków dla nazwy autora komentarza jest dodanie tego kodu do pliku functions.php:
add_filter('comment_form_default_fields', 'website_remove'); function website_remove($fields) { if(isset($fields['url'])) unset($fields['url']); return $fields; }
W tej sytuacji jednak jeżeli masz już komentarze w WordPress z linkami autorów, musisz je ręcznie usunąć.
Alternatywna metoda na komentarze WordPressbez linków
Dlaczego piszemy o alternatywnej metodzie? Ponieważ w trakcie naszych testów sprawdziliśmy, że w niektórych przypadkach działa tylko 1. lub 2. metoda. Jeżeli któryś z kodów nie działa u Ciebie z powodu szablonu, który stosujesz, a koniecznie chcesz usunąć linki WP z komentarzy, zastosuj obie metody wklejają poniższy kod do pliku functions.php:
add_action( 'admin_menu', 'remove_menus' , 100 ); // This will occur when the comment is posted function plc_comment_post( $incoming_comment ) { // convert everything in a comment to display literally $incoming_comment['comment_content'] = htmlspecialchars($incoming_comment['comment_content']); // the one exception is single quotes, which cannot be #039; because WordPress marks it as spam $incoming_comment['comment_content'] = str_replace( "'", ''', $incoming_comment['comment_content'] ); return( $incoming_comment ); } // This will occur before a comment is displayed function plc_comment_display( $comment_to_display ) { // Put the single quotes back in $comment_to_display = str_replace( ''', "'", $comment_to_display ); return $comment_to_display; } remove_filter('comment_text', 'make_clickable', 9);
Uwaga! Czasami metoda ta może powodować wyświetlanie błędów w WordPress, dlatego stosuj ją rozważnie.
Najprostsza opcja na usuwanie linków i HTMLa z komentarzy
Lubisz wtyczki? Jak wiesz zapewne my nie, ale domyślamy się, że być może chcesz samodzielnie wyłączyć HTMLa lub hyperlinki z komentarzy WordPress, a pierwsze dwie metody są dla Ciebie zbyt trudne
Możesz uprościć sobie to zadanie poprzez instalację wtyczki Comment Link Remove. Da Ci ona znacznie więcej możliwości, aniżeli powyższe kody, jednak jest to metoda bardziej zawodna niż wstawienie prostego kodu, który widzisz w pierwszych dwóch rozwiązaniach. Na szczęście jest ona aktualizowana przez dewelopera na bieżaco.
Za pomocą tej wtyczki:
- Usunie pole Strona internetowa z komentarzy.
- Usuniesz linki z nicka autora.
- Wyłączysz generowanie hyperlinków w komentarzach.
- Usuniesz tagi HTML.
- Wyłączysz globalnie komentarze.
- Ukryjesz istniejące komentarze.
- Dodasz opcję otwarcia linków z komentarzy w nowej karcie.
- Usuniesz wszystkie oczekujące komentarze.
- Usuniesz wszystkie komentarze za 1 kliknięciem.
- Usuniesz wszystkie spamerskie komentarze.
- Umożliwisz wyświetlanie daty aktualizacji postu zamiast daty jego publikacji.
To wszystko. Działaj! 🙂