it-swarm.com.de

Kann ein benutzerdefinierter Beitragstyp eine übergeordnete Seite haben?

Ich habe viele Posts im Webiverse gesehen, in denen es darum ging, eine Seite als übergeordnetes Element eines benutzerdefinierten Post-Typs zuzuweisen. Nach vier Stunden kann ich keine Lösung finden und brauche Hilfe. Ich habe eine "Über" -Seite erstellt, die die übergeordnete Seite einer "Unsere Mitarbeiter" -Seite ist. Ich habe auch einen benutzerdefinierten Beitragstyp mit dem Namen "People" erstellt. Und ich habe eine benutzerdefinierte Seitenvorlage für die Seite "Unsere Mitarbeiter" erstellt. Die Permalink-Struktur sieht gut aus, bis Sie zur einzelnen "Personen" -Seite gelangen. Zum Beispiel: John Smiths Seite, der Permalink ist nicht korrekt.

Benutzerdefinierte Beitragstyp:

Gewünschte Permalink-Struktur: / Über uns/Unsere Leute/John Smith

Eigentlich Permalink Structure: / our-people/john-smith

Unsere Personenseite Struktur: / über uns/unsere Leute

"About-us" ist eine Seite, "our-people" ist eine Seite und auch der Slug-Rewrite für den benutzerdefinierten Post-Typ "people". Ich habe versucht, die hierarchischen Einstellungen zu ändern, und ich habe versucht, "Über uns/unsere Leute" direkt in das Neuschreiben einzufügen, ohne Erfolg.

Functions.php:

function codex_custom_init() {
    // Our People
    $people_label = array(
        'name' => 'People',
        'singular_name' => 'People',
        'add_new' => 'Add People',
        'add_new_item' => 'Add New People',
        'edit_item' => 'Edit People',
        'new_item' => 'New People',
        'all_items' => 'All People',
        'view_item' => 'View People',
        'search_items' => 'Search People',
        'not_found' => 'No People found',
        'not_found_in_trash' => 'No People found in Trash',
        'parent_item_colon' => '',
        'menu_name' => 'People',
    );
    $people_args = array (
        'labels' => $people_label,
        'public' => true,
        'publicly_queryable' => true,
        'show_ui' => true,
        'show_in_menu' => true,
        'query_var' => true,
        'rewrite' => array( 'slug' => 'our-people'),
        'capability_type' => 'page',
        'has_archive' => true,
        'hierarchical' => true,
        'menu_position' => null,
        'menu_icon' => get_template_directory_uri() . '/images/icons/people.png',
        'supports' => array('title', 'editor', 'author', 'thumbnail', 'excerpt','page-attributes'),
    );

    register_post_type('people', $people_args);
}

Meine benutzerdefinierten Vorlagen: people.php people-single.php

13
Nick

Das sollte funktionieren:

'rewrite' => array( 'slug' => 'about-us/our-people'),

kombiniert mit:

'has_archive' => false,

Stellen Sie sicher, dass Sie die Seite mit den Permalinks-Einstellungen in Ihrem Administrator aufrufen, nachdem Sie die Änderungen vorgenommen haben, um die Umschreiberegeln zu löschen.

14
diggy