계층 적 분류 UI


11

분류 체계가 Wordpress 관리자 내에 표시되는 방식이 마음에 들지 않으며 누군가가 연결하고 변경하는 가장 좋은 방법을 알고 있는지 궁금합니다. 현재 내 게시물에서 일부 용어를 선택하면 선택한 용어가 목록의 맨 위로 이동하고 계층 구조가 깨져서 사용자에게 시각적으로 혼동됩니다.

내가 말하는 것에 대한 아이디어는이 이미지를 참조하십시오

여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오

분류법을 정확하게 표시하는 올바른 용어로 처음에 표시되는 방식을 정확하게 표시하고 싶습니다. Wordpress 핵심을 직접 편집하지 않고도이 작업을 수행 할 수있는 방법이 있습니까? 저는 사용할 후크가 없습니다.

도움을 주셔서 감사합니다.

헬렌


1
그것은 모든 계층 적 분류법에서 발생하며 매우 성가시다!
Tom J Nowell

좋은 질문. +1.
Anh Tran

답변:



2

역 추적

먼저 이것이 실제로 발생하는 곳을 확인합시다.

메타 상자에 추가됩니다 post.phppost-new.php화면.

# inside ~/wp-admin/edit-form-advanced.php
// TAGS:
if ( !is_taxonomy_hierarchical($tax_name) )
    add_meta_box('tagsdiv-' . $tax_name, $label, 'post_tags_meta_box', null, 'side', 'core', array( 'taxonomy' => $tax_name ));
// CATEGORIES:
else
    add_meta_box($tax_name . 'div', $label, 'post_categories_meta_box', null, 'side', 'core', array( 'taxonomy' => $tax_name ));

그런 다음 하나의 파일을 코어로 깊숙히 이동하여 정의 / 메타 박스 콜백에 도달합니다.

// inside ~/wp-admin/meta-boxes.php
function post_categories_meta_box( $post, $box )

categorychecklist탭 목록을 보유하고있는 것입니다. 안에는 div이라는 함수가 wp_popular_terms_checklist($taxonomy);있습니다.

# inside ~/wp-admin/includes/template.php
<li id="<?php echo $id; ?>" class="popular-category">
<label class="selectit">
<input id="in-<?php echo $id; ?>" type="checkbox" <?php echo $checked; ?> value="<?php echo (int) $term->term_id; ?>" <?php echo $disabled ?>/>
    <?php echo esc_html( apply_filters( 'the_category', $term->name ) ); ?>
</label>
</li>

»결론 :

즉, WP 필터 / 후크 및 PHP를 사용하여 일반 서버 측 수준에서이를 가로 챌 수있는 기회는 없습니다.

같은 일을 ...

add_filter( 'wp_get_object_terms', '__return_empty_array', 20, 4 );

... 확인 된 상자를 완전히 비활성화합니다.

더 많은 정보를 얻으면 업데이트되며 (아마도 해결책 일 수 있습니다)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.