Eine Anleitung zu WordPress PHP

Veröffentlicht: 2020-10-16

Möchten Sie WordPress PHP verstehen? In diesem Beitrag entpacken wir, was PHP ist und wie es mit WordPress funktioniert. Das Verständnis von PHP und seiner Integration in WordPress hilft bei der Wartung der Website, der Fehlerbehebung und der WordPress-Entwicklung im Allgemeinen.

Was ist PHP?

PHP, eine Abkürzung für Hypertext Preprocessor, ist eine Skriptsprache, die von etwa 79% des Webs verwendet wird . Mit PHP können Sie viele leistungsstarke Dinge tun, z. B. mit einer Datenbank interagieren, bedingte Anweisungen schreiben, WordPress-spezifische Informationen abrufen, Mediendateien abrufen und vieles mehr.

WordPress PHP

PHP ist das, was WordPress antreibt, da die meisten WordPress-Kerndateien in dieser Sprache geschrieben sind. Wenn Sie sich die Dateiliste einer WordPress-Website ansehen, werden Sie feststellen, dass die meisten Dateien auf .php enden, was bedeutet, dass die Datei eine PHP-Datei ist. Die meisten der im Screenshot unten aufgeführten WordPress-PHP-Dateien sind für den Betrieb einer WordPress-Website erforderlich.

WordPress-php

So funktioniert PHP: WordPress-Websites

Schauen wir uns ein reales Beispiel dafür an, wie PHP auf einer WordPress-Website verwendet wird. In diesem Beispiel verwenden wir eine bedingte Anweisung, um festzustellen, ob ein Benutzer angemeldet ist oder nicht:

<?php
if ( true === user_is_logged_in() ) {   
   echo 'You are logged in!';
} else {
   echo 'You are not logged in! Please sign in.';
}

Auch wenn Sie keine PHP-Kenntnisse haben, können Sie davon ausgehen, dass entweder ein Benutzer eingeloggt oder nicht eingeloggt ist. Wir verwenden eine Bedingung (if/else), um zu überprüfen, ob der Benutzer eingeloggt ist oder nicht, wenn er es ist, dann wir zeigt eine Begrüßungsnachricht an, und wenn dies nicht der Fall ist, werden wir sie bitten, sich anzumelden. Obwohl dies nur ein einfaches Beispiel ist, können Sie sehen, wie wirksam Bedingungen sein können.

Sie sehen, dass wir die Funktion „user_is_logged_in“ überprüft haben. Wir wissen, dass dies eine Funktion ist, da sie die Klammern „()“ nach dem Namen hat.

Wenn die Funktion false zurückgibt, wird beim Ausführen des Codes die Meldung angezeigt:

"Du bist nicht eingeloggt! Bitte einloggen."

PHP und WordPress

Allein aus dem obigen Beispiel werden Sie feststellen, dass PHP überall in WordPress zu finden ist. WordPress verfügt über Subsysteme wie Schleifen, die die Anzahl der angezeigten Beiträge steuern, zusammen mit Hooks, die Funktionalität, APIs, Themen und Plugins ändern.

WordPress PHP: Debugging aktivieren

WordPress zeigt standardmäßig keine Fehler/Warnungen an, die von PHP generiert werden. Dies ist eine bewährte Vorgehensweise für Websites, die sich in der Produktion befinden, aber wenn Sie entwickeln, möchten Sie dies aktivieren. Um das Debugging zu aktivieren, ändern Sie einfach diese Zeile in der Datei wp-config.php, die sich im Root-Verzeichnis von WordPress befindet:

define( 'WP_DEBUG', false );

Ändern Sie einfach die Konstante WP_DEBUG in true und speichern Sie dann die Datei. Alle versteckten Fehler oder Warnungen werden jetzt angezeigt, was wir wollen.

Die Schleife und die Abfrage

Die Abfrage ist ein System, das sammelt, welche Beiträge auf der Seite angezeigt werden sollen, und die Schleife durchläuft jeden Beitrag und zeigt sie entsprechend an. Auf Ihrer Homepage sucht die Abfrage nach den neuesten Beiträgen und greift die neuesten 10 Beiträge. Auf einer Kategorieseite sucht die Abfrage nach den 10 neuesten Beiträgen aus der angegebenen Kategorie. Sie können die Abfrage auch ändern und für Ihre Aufgaben verwenden.

Schauen wir uns ein Beispiel an:

<?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' ) );
 
?>

Der Code beginnt mit der Überprüfung, ob die Funktion „have_posts()“ Daten zum Durchschleifen hat. Wenn dies der Fall ist, wird eine Variable $i auf 0 gesetzt. Anschließend wird eine while- Schleife ausgeführt, die so lange läuft, wie die Bedingung wahr ist (dh Daten zurückzugeben hat). Es erhöht zuerst die Variable $i um 1 „$i++;“, dann führt es eine bedingte Anweisung aus, die prüft, ob die Variable $i größer als 1 ist. Wenn ja, zeigt es etwas HTML an, um den Beitrag zu trennen. Rufen Sie danach den Beitrag mit der Funktion „the_posts()“ ab und zeigen Sie den Inhalt des Beitrags mit der Funktion „get_template_part()“ an.

Wenn diese Bedingung nicht erfüllt ist, verwendet es die Funktion „is_search“, um festzustellen, ob es sich um eine Suche handelt oder nicht. Wenn ja, rendert es einfach etwas HTML und führt eine „get_search_form()“-Funktion aus, die den Benutzer auffordert, erneut zu suchen.

Haken

WordPress gibt Entwicklern die Möglichkeit, Kernfunktionen zu modifizieren. Sie möchten jedoch keine Core-Dateien ändern. Dies ist Regel Nr. 1 der Entwicklung, und es ist einfach schlechte Praxis. Je nach Projekt, an dem Sie arbeiten, kann es manchmal schwierig sein, aber hier kommen Hooks ins Spiel. Bei WordPress dreht sich alles um Hooks, und es hat zwei primäre Hooks, die für die Entwicklung verwendet werden. Diese beiden Hooks sind Action-Hooks und Filter-Hooks. Mit Aktions-Hooks können Sie benutzerdefinierten Code hinzufügen, und mit Filter-Hooks können Sie Daten ändern, bevor sie verwendet werden.

Lassen Sie uns den wp_footer so anpassen , dass er unseren eigenen Code vor dem schließenden Body-Tag des Themas hinzufügt. Wenn Sie die functions.php des Themes öffnen, können Sie den folgenden Code hinzufügen:

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 );

Dieser Code erstellt eine Funktion „ithemes_footer_code“, die als Callback-Funktion für die Funktion „add_action()“ verwendet wird. Diese Funktion enthält den Code, den wir für den wp_footer ausführen möchten. Für den ersten Parameter von add_action rufen wir 'wp_footer' auf, was angibt, dass dieser Code in der Fußzeile ausgeführt wird. Der zweite Parameter ist die Callback-Funktion (die Funktion, die wir gerade erstellt haben) und führt den benutzerdefinierten Code aus. Dies ist ein Beispiel für einen Action-Hook.

Lassen Sie uns die benutzerdefinierte Länge eines Beitragsauszugs ändern . Standardmäßig zeigt WordPress 57 Zeichen an, aber wir können die Anzahl der Zeichen auf mehr oder weniger ändern:

if ( ! function_exists( 'ithemes_custom_length_excerpt' ) ) {
    function ithemes_custom_length_excerpt( $length ) {
        return 50;
    }
}
add_filter( 'excerpt_length', 'ithemes_custom_length_excerpt', 999 );

Wir prüfen zunächst, ob die von uns erstellte Funktion bereits existiert, indem wir eine Bedingung für die Funktion „function_exists()“ schreiben. Wenn sie nicht existiert, erstellen wir unsere Funktion und sie nimmt $length als Argument. Wir geben dann den Wert 50 zurück. Danach führen wir die Funktion „add_filter()“ aus, die 4 Parameter enthalten kann, aber wir verwenden nur drei. Dies ist ein Beispiel für den Filterhaken.

Zusammenfassung: WordPress PHP

Wie Sie sehen können, erhalten Sie durch das Erlernen der Grundlagen von WordPress PHP und der Implementierung von PHP in die WordPress-Codebasis ein besseres Verständnis dafür, wie Ihre Website tatsächlich hinter den Kulissen läuft. Sehen Sie sich hier einige unserer Video-Tutorials zu PHP an: Syntax, the Loop in WordPress und WordPress-Template-Tags.

Laden Sie die Checkliste PDF herunter: Die grundlegende WordPress-Wartungs-Checkliste
jetzt downloaden
WordPress-php