Mehrere benutzerdefinierte Post-Typen in WordPress

June 3

WordPress seit bietet benutzerdefinierte Post-Typen mit der Veröffentlichung der Version 3.0. Dieses Feature ist in den Code integriert, das läuft WordPress, so dass Thema Entwickler spezialisierte Post-Typen hinzugefügt. Sie können mehrere benutzerdefinierte Post-Typen hinzufügen, aber Sie arbeiten und sie organisiert halten einige zusätzliche Arbeit beteiligt ist.

Registrieren mehrere benutzerdefinierte Post-Typen

Sie können beliebig viele benutzerdefinierte Post-Typen wie Sie wollen, registrieren, so lange, wie Sie jede Post-Typ mit seinen eigenen, spezifischen Funktion registrieren. Jede benutzerdefinierte Post Art erfordert eine Funktion, die einen wiederverwendbaren Codeblock ist, die in anderen Teilen eines Skripts oder Programms aufgerufen wird:

Funktion my_favorite_books() {}Register_post_type ("Bücher",

array( 'labels' => array( 'name' => __('Favorite Books'), 'singular_name' => __('Favorite Book') ), 'public' => true, 'has_archive' => true )

);}Add_action ('Init', 'My_favorite_books');

Das obige Beispiel enthält eine Funktion "my_favorite_books()", die enthält den Code, der erforderlich ist, erstellen Sie einen benutzerdefinierten Post-Typ "Lieblings-Bücher." Die Funktion "add_action()" erzählt WordPress, "my_favorite_books()" zu laden, wenn das Blog initialisiert.

Verwalten mehrerer benutzerdefinierter Post-Typen

Der Code für die Registrierung von benutzerdefinierten Post-Typen in der Datei "functions.php" geht, aber da dieser Code recht lang erhalten kann, ist es am besten "require_once()" verwenden, den Code aus einer anderen Datei zu laden. Nachdem "require_once()" Code in "functions.php" lädt, WordPress können als kämen sie direkt aus der Datei Funktionen:

require_once('includes/favorite_books.php');require_once('includes/favorite_movies.php');

Im obigen Beispiel "favorite_books.php" enthält nur den Code für die "Lieblingsbücher" Post-Typ, und diese Datei befindet sich in einem Unterverzeichnis des dem Theme namens "gehört." Nachdem Sie Ihre benutzerdefinierte Post-Typen wie folgt organisieren, können Sie auch ihnen aus den Bereichen entfernen indem man Kommentarmarkierungen vor ihnen:

require_once('includes/favorite_books.php');

Vorlagendateien für benutzerdefinierte Post-Typen

WordPress wird die Vorlagendatei "single.php" benutzerdefinierte Post-Typen angezeigt. Wenn Sie die Vorlage "single.php" überschreiben möchten, verwenden Sie "Einzel-name_of_type.php" für die neue Vorlage-Dateinamen. Diese Namenskonvention erstreckt sich auf andere Vorlagentypen, also eine Archiv-Template für diesen Typ benutzerdefinierte Post den Namen "Archiv-name_of_type.php" und so weiter. Gibt es keine speziellen Indexvorlage für benutzerdefinierte Post-Typen, so müssen Sie eine benutzerdefinierten Seitenvorlage mit einer benutzerdefinierten Schleife erstellen, die für die Post-Typ aufruft.

Hinzufügen benutzerdefinierter Post-Typen auf den Blog-Index

Ändern die Inhalte, die eine Vorlage behandelt erfordert eine Abfrage, und "query_posts()" übernimmt dies. Platzieren die Funktion "query_posts()" über die WordPress-Schleife in der Datei "index.php" können Sie die Abfrage ausführen. Dieser Code fügt benutzerdefinierte Post-Typen zum Index:

<? Php query_posts('post_type=posts,my_custom_type,another_custom_type');? ><? Php if(have_posts()): while(have_posts()): the_post();? >

Jede benutzerdefinierte Post-Typ müssen getrennt durch ein Komma, wie gezeigt. Bei der Abfrage der Schleife erinnern Sie die Abfrage am Ende der Schleife zurücksetzen:

<? Php Endif;? ><? Php wp_reset_query();? >