it-swarm.com.de

Strategie für den Umgang mit hierarchischen Seiten mit leerem übergeordneten Inhalt

Angenommen, ich habe die folgende Seitenstruktur

/about-us (used as a parent holder only)
/about-us/history (real page)
/about-us/team (real page)
/about-us/industry (real page)

Die Seite " about-us " enthält keinen Inhalt, wird jedoch für zwei Zwecke benötigt

  1. Hierarchische Struktur in URL zulassen
  2. Erlaube hierarchische Struktur im Menü

Eines der Probleme ist jedoch, dass Benutzer, die "/about-us " eingeben, eine leere Seite ohne Inhalt eingeben.

Soll ich den Benutzer automatisch an die URL "/about-us/history " weiterleiten?

Oder ist es die übliche Art, mit hierarchischen Seiten umzugehen?

3
Yoga

Ich verwende hier zwei Strategien ...

1) ist eine einfache Weiterleitung zum ersten Kind (über die Menüreihenfolge) page-redirect.php

<?php
/*
 * Template Name: Redirector
 * Description: Empty Holder (redirect page) 
 */


    $rp = new WP_Query(array(
        'post_parent'   => get_the_id(),
        'post_type'     => 'page',
        'order'         => 'asc',
        'orderby'       => 'menu_order'
    ));

    if ($rp->have_posts())
        while ( $rp->have_posts() ) { 
            $rp->the_post(); 
            wp_redirect(get_permalink(get_the_id()));
            exit;
        }   
    wp_redirect(dirname(home_url($wp->request)));
    exit;

2) Erzeugen eines Menüs auf einem Elternteil mit Links zu Kindern (als Beispiel - http://unu.edu/about )

4
Butuzov

Erstellen Sie eine neue Datei mit dem Namen page-parent.php und geben Sie den folgenden Code in Ihre neue Datei ein:

<?php
/*
 * Template Name: Parent Menu
 * Description: Redirects empty parent page to first child page
 */

# Parent menu goes to first child page
# askwpgirl.com/redirect-parent-page-first-child-page-wordpress
$child_page = get_pages( "child_of=" . $post->ID . "&sort_column=menu_order" );
if ( $child_page ) {
    $parent_page = $child_page[0];
    wp_redirect( get_permalink( $parent_page->ID ) );
}

Fügen Sie dann den page-parent.php in das Stammverzeichnis Ihres untergeordneten Themas ein, zum Beispiel:

/wp-content/themes/child-theme

Danach sehen Sie die neue Vorlage Parent Menu in der Option Vorlage .

Speichern Sie das übergeordnete Menü mit der neuen Vorlage. Wenn Sie versuchen, direkt auf die übergeordnete Seite zuzugreifen, wird diese auf die erste untergeordnete Seite umgeleitet.