it-swarm.com.de

Ist es richtig, eine Seite zu erstellen, nur um eine Listingseite zu generieren (z. B. für einen benutzerdefinierten Beitragstyp)?

Ich erstelle Seiten nur als "Platzhalter" für eine Listingseite.

z.B. Ich erstelle eine Seite "Blog" und "Portfolio". Beides hat der Editor leer. Und ich benutze es einfach, damit ich page-blog.php und page-portfolio.php für die jeweiligen Listingseiten verwenden kann. Es scheint nicht richtig? Gibt es einen besseren Weg?

3
JM at Work

Ich schätze, eine andere Möglichkeit wäre, 'has_archive' => true, in Ihr register_post_type-Array aufzunehmen und archive- {posttype} .php zu verwenden, um Ihre benutzerdefinierten Einträge zu gestalten

5
Daniel Sachs

Ich verwende Platzhalterseiten nur, wenn ich nur einige benutzerdefinierte Beitragstypen ohne Paginierung aufführe (oder sonstige sonstige Daten für diese Tatsache), damit der Endbenutzer weiterhin die Kontrolle über Dinge wie Titel und Inhalt hat (welche) Sie können für Einführungstext usw. verwenden.

Es hat auch den Vorteil, dass es in wp_list_pages() aufgeführt wird, was praktisch ist, wenn Sie es für die Navigation an einer anderen Stelle in Ihrem Thema verwenden.

Wie @Daniel bereits sagte, sollten Sie sich für das Argument has_archive entscheiden, wenn Sie von einem vollständigen Archiv mit Paginierung und Feeds profitieren möchten.

Aus Gründen der Übersichtlichkeit verwende ich für das Archiv eher einen anderen Slug als für den einzelnen Post.

Also zum Beispiel;

http://example.com/product/my-single-product/

Und für Archive;

http://example.com/products/

http://example.com/products/page/2

http://example.com/products/feed/

Der Code dafür?

register_post_type( array(
    'rewrite' => array(
        'slug' => 'product', // defaults to post type name
        'with_front' => true, // prepends slug to single posts, default true
        'pages' => true, // support pagination, default true
        'feeds' => true // support feeds, default matches 'has_archive'
     ),

     'has_archive' => 'products' // if bool true, defaults to rewrite slug
) );
1
TheDeadMedic