Verwenden von Posts wie eine Page

Ich arbeite an einem Client-Projekt und sie würden gern Posts verwenden, so wie wir es traditionell mit Seiten machen würden, da es eine begrenzte Anzahl von Seiten gibt, die eine WordPress-Installation bewältigen kann, und die Möglichkeit, Posts effizienter zu kategorisieren.

Das Problem, auf das ich stoße, ist der Client, der möchte, dass es für jeden Beitrag Kinderposts gibt, ähnlich wie eine Kinderseite. Ich muss in der Lage sein, sowohl die Kinderposts zu benennen als auch sie in einem Menü auf dem Elternpost- und Kinderpost des Elternteils darzustellen (das gleiche Menü sowohl im Eltern- als auch im Kinderpost).

Ich habe wp_link_pages in Betracht gezogen, aber das erlaubt weder ein Menü mit untergeordneten Posts noch eine echte Betitelung für jeden untergeordneten Post.

Ich hoffe, jemand hat eine Lösung, die sie vielleicht teilen möchten.

Solutions Collecting From Web of "Verwenden von Posts wie eine Page"

Verwenden Sie Seiten für Seiten und Posts für Posts. Beide Post-Typen sind auf ihren Anwendungsfall spezialisiert. Sie verwenden verschiedene Permalink-Einstellungen und List-Tabellen.

Die Anzahl der Seiten ist nicht begrenzt. Ich habe gesehen, Website mit mehr als 50.000 Seiten läuft glatt.

Früher war das Permalink-Parsing für Seiten unter bestimmten Umständen langsam, aber das wurde vor langer Zeit getriggers (von @Otto , wenn ich mich richtig erinnere).

Sie können Kategorien, Tags oder benutzerdefinierte Taxonomien auch auf Seiten verwenden.

Ein einfaches Beispiel, das zeigt, wie Seiten mehr wie Posts funktionieren lassen:

add_action( 'wp_loaded', 't5_page_enhancements' ); /** * Excerpts and tags for post type 'page'. * * @wp-hook wp_loaded * @return void */ function t5_page_enhancements() { add_post_type_support( 'page', 'excerpt' ); register_taxonomy_for_object_type('post_tag', 'page'); add_filter( 'pre_get_posts', 't5_add_pages_to_tax_query' ); } /** * Let WP search for post type 'page' on tag archives. * * @wp-hook pre_get_posts * @param object $query * @return object */ function t5_add_pages_to_tax_query( $query ) { if ( ! is_main_query() or ! is_tag() ) return $query; $query->set( 'post_type', array ( 'page', 'post' ) ); return $query; }