Przewodnik po WordPressie PHP
Opublikowany: 2020-10-16Chcesz zrozumieć WordPress PHP? W tym poście rozpakujemy czym jest PHP i jak działa z WordPressem. Zrozumienie PHP i sposobu jego integracji z WordPress pomoże w utrzymaniu witryny, rozwiązywaniu problemów i ogólnie w rozwoju WordPressa.
Co to jest PHP?
PHP, skrót od Hypertext Preprocessor, to język skryptowy używany przez około 79% sieci . PHP pozwala robić wiele potężnych rzeczy, takich jak interakcja z bazą danych, pisanie instrukcji warunkowych, uzyskiwanie informacji specyficznych dla WordPressa, pobieranie plików multimedialnych i wiele więcej.
WordPress PHP
PHP jest tym, co napędza WordPressa, ponieważ większość podstawowych plików WordPressa jest napisana w tym języku. Jeśli spojrzysz na listę plików witryny WordPress, zobaczysz, że większość plików kończy się na .php, co oznacza, że jest to plik PHP. Większość plików WordPress PHP wymienionych na poniższym zrzucie ekranu jest niezbędna do działania witryny WordPress.
Jak działa PHP: strony internetowe WordPress
Spójrzmy na rzeczywisty przykład wykorzystania PHP w witrynie WordPress. W tym przykładzie użyjemy instrukcji warunkowej, aby określić, czy użytkownik jest zalogowany:
<?php if ( true === user_is_logged_in() ) { echo 'You are logged in!'; } else { echo 'You are not logged in! Please sign in.'; }
Nawet jeśli nie masz wiedzy na temat PHP, możesz odebrać, że użytkownik jest zalogowany lub nie. Używamy warunkowego (jeśli / inaczej), aby sprawdzić, czy użytkownik jest zalogowany wyświetli wiadomość powitalną, a jeśli nie, poprosimy ich o zalogowanie się. Chociaż jest to tylko podstawowy przykład, możesz zobaczyć, jak potężne mogą być warunki warunkowe.
Widać, że sprawdziliśmy funkcję „user_is_logged_in”. Wiemy, że jest to funkcja, ponieważ zawiera nawiasy „()” po nazwie.
Jeśli funkcja zwróci false, to po uruchomieniu kodu wyświetli komunikat:
"Nie jesteś zalogowany! Proszę, zaloguj się."
PHP i WordPress
Już z powyższego przykładu zauważysz, że PHP można znaleźć wszędzie w WordPressie. WordPress ma podsystemy, takie jak pętle, które kontrolują liczbę wyświetlanych postów, wraz z haczykami, które modyfikują funkcjonalność, interfejsy API oraz motywy i wtyczki.
WordPress PHP: Włącz debugowanie
WordPress domyślnie nie wyświetla żadnych błędów/ostrzeżeń generowanych przez PHP. Jest to dobra praktyka w przypadku witryn, które są w środowisku produkcyjnym, ale jeśli programujesz, chcesz, aby ta opcja była włączona. Aby włączyć debugowanie, po prostu zmień tę linię w pliku wp-config.php, który znajduje się w katalogu głównym WordPressa:
define( 'WP_DEBUG', false );
Po prostu zmień stałą WP_DEBUG na true , a następnie zapisz plik. Wszelkie ukryte błędy lub ostrzeżenia będą teraz wyświetlane, a tego właśnie chcemy.
Pętla i zapytanie
Zapytanie to system, który gromadzi posty, które mają być wyświetlane na stronie, a pętla przechodzi przez każdy post i odpowiednio je wyświetla. Na Twojej stronie głównej zapytanie wyszuka najnowsze posty i pobierze 10 najnowszych postów. Na stronie kategorii zapytanie wyszuka 10 najnowszych postów z danej kategorii. Możesz także zmodyfikować zapytanie i użyć go do tego, co musisz zrobić.
Spójrzmy na przykład:
<?php if ( have_posts() ) { $i = 0; while ( have_posts() ) { $i++; if ( $i > 1 ) { echo '<hr class="post-separator styled-separator is-style-wide section-inner" aria-hidden="true" />'; } the_post(); get_template_part( 'template-parts/content', get_post_type() ); } } elseif ( is_search() ) { ?> <div class="no-search-results-form section-inner thin"> <?php get_search_form( array( 'label' => __( 'search again', 'twentytwenty' ) ); ?>
Kod zaczyna się od sprawdzenia, czy funkcja „have_posts()” ma jakieś dane, przez które można przejść w pętli. Jeśli tak, to ustawia zmienną $ i na 0. Następnie uruchamia pętli while, która jest pętla, która będzie działać tak długo jak warunek jest spełniony (czyli ma dane do zwrotu). Najpierw inkrementuje zmienną $i o 1 „$i++;”, a następnie uruchamia instrukcję warunkową, sprawdzając, czy zmienna $i jest większa niż 1. Jeśli tak, wyświetla kod HTML do oddzielenia wiadomości. Następnie uzyskaj post z funkcją „the_posts()” i wyświetl treść posta z funkcją „get_template_part()”.

Jeśli ten warunek nie jest spełniony, używa funkcji „is_search”, aby określić, czy było to wyszukiwanie. Jeśli tak, po prostu renderuje kod HTML i uruchamia funkcję „get_search_form()”, która prosi użytkownika o ponowne wyszukiwanie.
Haki
WordPress daje programistom możliwość modyfikowania podstawowych funkcji. Jednak nie chcesz modyfikować plików podstawowych. To jest zasada nr 1 rozwoju i jest to po prostu zła praktyka. Czasami może to być trudne w zależności od projektu, nad którym pracujesz, ale w tym miejscu pojawiają się haczyki. WordPress dotyczy haczyków i ma dwa podstawowe haki, które są używane do programowania. Te dwa haczyki to haczyki akcji i haki filtrujące. Haki akcji umożliwiają dodawanie niestandardowego kodu, a haki filtrów umożliwiają modyfikowanie danych przed ich użyciem.
Dostosujmy wp_footer, aby dodać własny kod przed zamykającym tagiem body motywu. Jeśli otworzysz plik functions.php motywu, możesz dodać następujący kod:
function ithemes_footer_code() { ?> <p>This is the footer.</p> <?php } add_action( 'wp_footer', 'ithemes_footer_code' ); // ---- END // ---- BEGIN if ( ! function_exists( 'ithemes_custom_length_excerpt' ) ) { function ithemes_custom_length_excerpt( $length ) { return 50; } } add_filter( 'excerpt_length', 'ithemes_custom_length_excerpt', 999 );
Ten kod tworzy funkcję „ithemes_footer_code”, która jest używana jako funkcja zwrotna używana dla funkcji „add_action()”. Ta funkcja zawiera kod, który chcielibyśmy wykonać na wp_footer. W przypadku pierwszego parametru add_action wywołujemy „wp_footer”, co oznacza, że ten kod zostanie uruchomiony w stopce. Drugim parametrem jest funkcja wywołania zwrotnego (funkcja, którą właśnie stworzyliśmy), która uruchomi niestandardowy kod. To jest przykład haka akcji.
Zmieńmy niestandardową długość fragmentu posta. Domyślnie WordPress wyświetla 57 znaków, ale możemy zmienić liczbę znaków, aby była mniej więcej:
if ( ! function_exists( 'ithemes_custom_length_excerpt' ) ) { function ithemes_custom_length_excerpt( $length ) { return 50; } } add_filter( 'excerpt_length', 'ithemes_custom_length_excerpt', 999 );
Najpierw sprawdzamy, czy funkcja, którą tworzymy, już istnieje, pisząc warunek dla funkcji „function_exists()”. Jeśli nie istnieje, tworzymy naszą funkcję i jako argument przyjmuje $długość . Następnie zwracamy wartość 50. Następnie uruchamiamy funkcję „add_filter()”, która może przechowywać 4 parametry, ale używamy tylko trzech. To jest przykład haka filtra.
Zawijanie: WordPress PHP
Jak widać, samo poznanie podstaw WordPressa PHP i sposobu implementacji PHP w bazie kodu WordPressa pozwala lepiej zrozumieć, jak Twoja witryna działa za kulisami. Obejrzyj kilka naszych samouczków wideo na temat PHP: Składnia, pętla w WordPressie i tagi szablonów WordPress.
