WordPress erstellt benutzerdefinierte Typen für Banner zu Hause

Banner.png

Manchmal muss für das Design ein Banner auf der Homepage einer Website vorhanden sein, z. B. Anzeigen, Nachrichten oder Angebote oder Links zu neuen Inhalten auf der Website oder zu prominenten Fotos.

In diesem Fall ist es am besten, einen benutzerdefinierten Beitragstyp oder einen benutzerdefinierten Typ zu verwenden, um diesen Inhalt von den anderen zu trennen und ihn daher bei jedem Hinzufügen eines Banners als Inhalt auf der Homepage zu veröffentlichen.

Es gibt einige Möglichkeiten, dies zu tun. Eine einfache Möglichkeit besteht darin, ein Widget zu verwenden , das hinzugefügt wird, indem ein Widget-Bereich an der richtigen Stelle in den Vorlagendateien des Themas oder der Vorlage registriert wird.

Ein interessanterer Ansatz, der Ihnen mehr Flexibilität bietet, besteht darin, einen personalisierten Beitragstyp zu erstellen und ihn zum Anzeigen eines oder mehrerer Banner zu verwenden. Es kann sogar verwendet werden, um Banner einer bestimmten Kategorie anzuzeigen, die sich von den anderen unterscheiden, wenn es mehrere Kategorien hat, aber eine davon hervorheben möchte.

Hier hinterlassen wir ein Beispiel. Zuerst wird der neue Beitragstyp in der Datei functions.php registriert

 // Wir registrieren den benutzerdefinierten Beitragstyp "Banner" Funktionsbanner () { $ labels = array ( 'name' => __ ('Banner'), 'singular_name' => __ ('banner'), 'add_new' => __ ('Neues Banner'), 'add_new_item' => __ ('Neues Banner hinzufügen'), 'edit_item' => __ ('Banner bearbeiten'), 'new_item' => __ ('New banner'), 'view_item' => __ ('Banner anzeigen'), 'search_items' => __ ('Banner durchsuchen'), 'not_found' => __ ('Keine Banner gefunden'), 'not_found_in_trash' => __ ('Keine Banner im Papierkorb gefunden'), ); $ args = array ( 'labels' => $ labels, 'has_archive' => true, 'public' => true, 'hierarchisch' => falsch, 'unterstützt' => array ( "Titel", "Herausgeber", "Auszug", 'benutzerdefinierte Felder', 'thumbnail', 'Seitenattribute' ), 'taxonomies' => array ('post_tag', 'category'), ); register_post_type ('banner', $ args); } add_action ('init', 'Banner'); 

Der nächste Schritt besteht darin, eine Funktion zu erstellen, die mithilfe von WP_Query abgefragt wird, um den Typ des Post-Banners zu überprüfen und alle Banner anzuzeigen. Fügen Sie diese Funktion dann immer dann hinzu, wenn es sich um das Thema handelt, in dem Sie Ihre Banner anzeigen möchten.

Fügen Sie in der Datei functions.php oder in Ihrer Plug-in-Datei, wenn Sie diesen Ansatz verwenden, Folgendes hinzu:

 // Wir zeigen das Banner auf dem Haus Funktion home_banner () { // Ich konsultiere die Post $ query = new WP_Query (array ( 'post_type' => 'banner', )); // Ich zeige das Banner in einem div mit der Klasse banner-box div if ($ query-> have_posts ()) {?> <div class = "banner-box"> <? php while ($ query-> have_posts ()): $ query-> the_post (); ?> <div id = "post - <? php the_ID ();?>" <? php post_class ('banner'); ? >> <? php the_content (); ?> </ div> <? php endwhile; ?> </ div> <? php} wp_reset_postdata (); } 

Wir sehen, wie Banner auf der Homepage angezeigt werden, dafür verwenden wir Bedingungen, um die Seite zu erkennen, auf der wir is_home_page () verwenden. Dies überprüft die Startseite, wenn wir eine andere Seite haben, die nicht die Startseite ist. Wir müssen feststellen, welche Seite mit <? Php is_page ($ page); ?>

In meiner header.php- Datei füge ich folgendes direkt in das Tag id = “main”> <div opening ein . Da ich mit einem untergeordneten Design arbeite, habe ich in meinem untergeordneten Design eine neue Datei header.php erstellt, die mit Ausnahme dieses neuen Codes ein Duplikat der übergeordneten Design-Header-Datei ist.

: Fügen Sie dann auf der Seite, auf der das Banner angezeigt werden soll, beispielsweise head.php oder index.php, den folgenden Code ein :

 <? // zeige den Banner nur in der Wohnung if (is_home ()) { home_banner (); } ?> 

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *