오늘 나는 이미 타사 플러그인에 의해 등록 된 사용자 정의 분류법에 대한 인수를 변경해야했습니다 . 특히 나는 분류법 슬러그가 아닌 슬러그로 show_admin_column
인수 를 설정 true
하고 변경하고 싶었습니다 rewrite
. 이 경우 "People Category"사용자 지정 분류 체계가있는 "People"게시물 유형입니다.
나는 이것이 이전에 요청되지 않은 것에 놀랐습니다. 여기에 질문과 대답이 있습니다.
오늘 나는 이미 타사 플러그인에 의해 등록 된 사용자 정의 분류법에 대한 인수를 변경해야했습니다 . 특히 나는 분류법 슬러그가 아닌 슬러그로 show_admin_column
인수 를 설정 true
하고 변경하고 싶었습니다 rewrite
. 이 경우 "People Category"사용자 지정 분류 체계가있는 "People"게시물 유형입니다.
나는 이것이 이전에 요청되지 않은 것에 놀랐습니다. 여기에 질문과 대답이 있습니다.
답변:
register_taxonomy()
작업을위한 도구입니다. 코덱스에서 :
이 함수는 분류법을 추가하거나 덮어 씁니다.
한 가지 옵션은를 복사 register_taxonomy()
$args
하고 수정하는 것입니다. 그러나 이는 원래 register_taxonomy()
코드에 대한 향후 변경 사항을 덮어 씁니다.
따라서 적어도이 경우 원래 인수를 가져 와서 변경하려는 인수를 수정 한 다음 분류 체계를 다시 등록하는 것이 좋습니다. 이 솔루션에 대한 영감 은 사용자 정의 게시물 유형에 대한 비슷한 질문에 대한 답변 에서 @Otto에게 전달됩니다 .
예제에서 people
사용자 정의 게시물 유형과 people_category
분류를 사용하면 다음 과 같이됩니다.
function wpse_modify_taxonomy() {
// get the arguments of the already-registered taxonomy
$people_category_args = get_taxonomy( 'people_category' ); // returns an object
// make changes to the args
// in this example there are three changes
// again, note that it's an object
$people_category_args->show_admin_column = true;
$people_category_args->rewrite['slug'] = 'people';
$people_category_args->rewrite['with_front'] = false;
// re-register the taxonomy
register_taxonomy( 'people_category', 'people', (array) $people_category_args );
}
// hook it up to 11 so that it overrides the original register_taxonomy function
add_action( 'init', 'wpse_modify_taxonomy', 11 );
위의 세 번째 register_taxonomy()
인수를 예상 배열 유형으로 유형 변환합니다 . 이 같은 꼭 필요한 것은 register_taxonomy()
사용 wp_parse_args()
처리 할 수 있습니다 object
또는 array
. 말했다, register_taxonomy()
의는 $args
int로서 제출 해야하는 array
이 바로 내 느낌, 그래서 분과에 따라.
'people_category'
덮어 쓰기 위해 원래 분류법과 동일한 슬러그 (예 :)를 사용해야 합니다.
capabilities
매개 변수가 내부에 저장되어 cap
등록 된 새 분류 체계로 전달되지 않습니다. 비슷한 질문에 대한 내 대답을 보려면 여기를 클릭하십시오