맞춤 게시물 유형에 부모 페이지가있을 수 있습니까?


16

Webiverse에서 페이지를 사용자 정의 게시물 유형의 부모로 할당하는 것에 대한 많은 게시물을 보았습니다. 4 시간 후에 나는 해결책을 찾을 수없고 도움이 필요하다. "Our People"페이지의 부모 인 "About"페이지를 작성했습니다. 또한 "People"이라는 사용자 정의 게시물 유형을 만들었습니다. 그리고 "Our People"페이지를위한 커스텀 페이지 템플릿을 만들었습니다. Permalink 구조는 단일 "사람"페이지에 도달 할 때까지 잘 보입니다. 예를 들어 : John Smith 's Page (퍼머 링크)가 올바르지 않습니다.

맞춤 게시물 유형 :

원하는 퍼머 링크 구조 : / about-us / our-people / john-smith

실제로 Permalink 구조 : / our-people / john-smith

직원 페이지 구조 : / about-us / our-people

"about-us"는 페이지이고 "our-people"는 페이지이며 사용자 정의 게시물 유형 "people"에 대한 슬러그 재 작성입니다. 계층 적 설정을 변경하려고했지만 성공하지 않고 "about-us / our-people"을 다시 작성에 직접 추가하려고했습니다.

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);
}

내 사용자 지정 템플릿 : people.php people-single.php

답변:


19

이것은 작동해야합니다 :

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

와 결합 :

'has_archive' => false,

다시 쓰기 규칙을 플러시하도록 변경 한 후 관리자의 Permalinks 설정 페이지를 방문하십시오.


2
그게 뭘까?
Nick

7
이것이 왜 작동하는지에 대한 설명을 보는 것이 좋을 것입니다.
몬트리올리스트

3
CPT에 부모 페이지를 제공하고 아카이브를 비활성화하지 않으려는 경우 누구나 'has_archive'에 아카이브 슬러그에 대한 문자열을 전달할 수 있습니다.
jwinn

3
Yoast와 같은 플러그인에서 Breadcrumbs에 'about-us'를 주입하지 않을 것이라는 점도 주목할 가치가 있습니다.
Mir

2
@ Yoast 문제에 대한 알려진 해결 방법이 있습니까?
arvil December
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.