POMOC TECHNICZNA: +48 606 85 73 04

8 sposobów na tuning WordPress’a – cz.2

8 sposobów na tuning WordPress’a – cz.2
matrix_wp

W pierwszej części artykułu o tuningu WordPress’a skupiliśmy się na edycji pliku wp-config.php, by pod koniec rozpocząć przygodę z modyfikacjami motywu (functions.php)

Dziś dalszy ciąg ciekawych i prostych modyfikacji tego pliku.

5. Tuning WordPress’a – Przekierowanie na treść posta, gdy wynik wyszukiwania zwraca jedną pozycję.

Wyobraźmy sobie, że w wyszukiwarce na stronie wpisujemy jakąś frazę, w wyniku czego otrzymujemy informację, że wyszukiwanie zakończyło się znalezieniem jednego wpisu w tym temacie.

Standardowo efekt będzie taki, że wyświetli się nam w formacie blogowym (miniatura, tytuł i wypis)  ten wpis. Słabo to wygląda… Co możemy z tym zrobić?

Ano… poniżej podam przykład kodu, który w przypadku zwracania przez wyszukiwarkę jednego wpisu, przeniesie nas od razu do tego wpisu.

Zatem znów dodajemy do pliku functions.php  tym razem funkcję i akcję ją wywołującą.

add_action('template_redirect', 'redirect_single_post');
    function redirect_single_post() {
                 if (is_search()) {
                 global $wp_query;
                 if ($wp_query->post_count == 1 && $wp_query->max_num_pages == 1) {
                 wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
                 exit;
                 }
              }
           }

 

6. Tuning WordPress’a – Wyłączenie stron z wyników wyszukiwania

Typowy blog ma setki lub dziesiątki wpisów i tylko kilka stron. Te strony są ważnymi elementami bo zawierają informacje choćby “O nas” czy “Kontakt” i zawsze są wyświetlane w menu na eksponowanym miejscu. Dlatego nie ma też logicznego powodu by strony te były zwracane w wynikach wyszukiwania. Efektem ubocznym choć równie ważnym jest to że wyłączenie stron z wyników wyszukiwania pozwoli nam na proste ukrycie przed odwiedzającymi stron prywatnych np. strony z subskrypcją newslettera czy stroną na której można pobrać eBooka.

Zatem jak powinien wyglądać kod który nam to zapewni?

function remove_comment_fields($fields) {
          unset($fields['url']);
          return $fields;
          }
     add_filter('comment_form_default_fields','remove_comment_fields');

 

7. Tuning WordPress’a – Usunięcie pola URL z formularza komentarzy.

Temat ograniczenia ilości spamowych komentarzy na stronie jest zawsze aktualny i wprost “niewyczerpany”. Tutaj pokażę jeden z trików, który pozwoli zredukować ręczne dodawanie spamowych komentarzy na stronie.

Brak możliwości pozostawienia swojego URLa powoduje, że komentarze będą zostawiać tylko osoby którym faktycznie zależy na skomentowaniu merytorycznym treści a nie na linku do swojej strony. Ograniczymy w ten sposób komentarze o niskiej wartości. Zatem usuńmy z domyślnej instalacji WordPress’a z formularza komentarzy pole URL.

I znów edytujemy plik functions.php

add_filter( 'preprocess_comment', 'minimal_comment_length');
       function minimal_comment_length( $commentdata ) {
              $minimalCommentLength = 20;
              if ( strlen( trim( $commentdata['comment_content'] ) ) <$minimalCommentLength ){
               wp_die( 'Wszystkie komentarze muszą być dłuższe niż ' .$minimalCommentLength . ' znaków.' );
           }
          return $commentdata;
       }

 

8. Tuning WordPress’a – Wymuszanie minimalnej długości komentarza.

Jak już jesteśmy przy komentarzach, to kolejnym sposobem, by odsiać komentarze niskiej wartości typu “Fajny wpis” jest wymuszenie by komentarz miał np. minimum 20 znaków. W sumie możemy przyjąć dwie strategie związane z komentarzami. Jeśli nie chcemy usuwać pola URL z formularza komentarzy, bo może akurat pozostawienie adresu autora komentarza będzie dla nas wartościowe, to możemy wymusić żeby autor jednak bardziej postarał się w komentarzu i napisał więcej niż kilka znaków.  Tutaj już zostawiam Wam pomysł na zastosowanie rozwiązania.

W poniższym kodzie wartość zmiennej $minimalCommentLength definiuje nam minimalną ilość znaków, które powinien wpisać komentujący by jego komentarz mógł zostać przesłany do moderatora. Krótsze komentarze spowodują wyświetlenie komunikatu o błędzie.

function filter_search($query) {
         if ($query->is_search) {
            $query->set('post_type', 'post');
            }
         return $query;
        }
     add_filter('pre_get_posts', 'filter_search');

 

Mam nadzieję, że przydadzą Ci się zaprezentowane przeze mnie fragmenty kodu. Jeśli chcesz być na bieżąco z publikacjami na stronie zapisz się na newslettera, bo praktycznych informacji w tym temacie będzie przybywało.

Nie zapomnij też o udostępnieniu informacji na FB czy G+, co pozwoli też innym na zapoznanie się z możliwościami WordPressa i prostej samodzielnej jego modyfikacji. Mam nadzieję też, że zainspiruje Cię to do własnych testów i poszukiwań dotyczących dostosowywania WordPressa do własnych potrzeb. A jeśli masz pytania czy własne doświadczenia w tym temacie to podziel się nimi w komentarzach.

0 0 votes
Article Rating
Subscribe
Powiadom o
guest
0 komentarzy
Inline Feedbacks
View all comments
 
Dyskusja
 
0
Would love your thoughts, please comment.x