답변:
사용자 정의 게시물 유형을 등록 할 때 재 작성 규칙 앞에 기존 URL 구조가 붙지 않도록 지정해야합니다.
요컨대, 이것은 귀하의 register_post_type
전화 에서 다음 줄을 의미합니다 .
'rewrite' => array('slug' => 'projects'),
이것으로 바꿔야합니다 :
'rewrite' => array('slug' => 'projects','with_front' => false),
자세한 내용 rewrite
은 코덱 항목 의 인수를 확인하십시오 .register_post_type
편집 : 코드를 업데이트 한 후 설정> 영구 링크를 방문하여 다시 쓰기 규칙을 플러시하십시오. 그렇지 않으면 여전히 이전 링크가 표시됩니다.
example.com/projects/title-of-post
. Permalinks 페이지도 방문했습니다. 이 문제의 원인은 무엇입니까? 내에 다시 쓰기 규칙이 없습니다 htaccess
.
나는 3 일 전에 말 그대로이 문제가 있었으며 wp.tutsplus.com 에서 시리즈를 우연히 발견 했습니다 . 귀하의 질문을 더 잘 수용하기 위해 내 코드를 교체했지만이 시리즈를 따른 후에 끝났습니다. 또한 이것은 테스트되지 않았 음을 명심하십시오.
// sets custom post type
function my_custom_post_type() {
register_post_type('Projects', array(
'label' => 'Projects','description' => '',
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'capability_type' => 'post',
'hierarchical' => false,
'publicly_queryable' => true,
'rewrite' => false,
'query_var' => true,
'has_archive' => true,
'supports' => array('title','editor','excerpt','trackbacks','custom-fields','comments','revisions','thumbnail','author','page-attributes'),
'taxonomies' => array('category','post_tag'),
// there are a lot more available arguments, but the above is plenty for now
));
}
add_action('init', 'my_custom_post_type');
// rewrites custom post type name
global $wp_rewrite;
$projects_structure = '/projects/%year%/%monthnum%/%day%/%projects%/';
$wp_rewrite->add_rewrite_tag("%projects%", '([^/]+)', "project=");
$wp_rewrite->add_permastruct('projects', $projects_structure, false);
이론적으로 $projects_structure
변수에 저장된 URL에서 원하는 것을 바꿀 수 있습니다. 내가 사용한 것은 무엇입니까?
행운을 빕니다. 그리고 언제나 그렇듯이 – 돌아와서 어떻게 작동했는지 알려주세요! :)