UI อนุกรมวิธานลำดับชั้น


11

ฉันไม่ชอบวิธีที่ taxonomies แสดงภายในผู้ดูแลระบบ Wordpress และสงสัยว่าถ้าใครรู้วิธีที่ดีที่สุดในการเชื่อมต่อและเปลี่ยนแปลง ขณะนี้ถ้าฉันเลือกคำบางคำในโพสต์ของฉันคำที่เลือกให้ไปที่ด้านบนสุดของรายการและลำดับชั้นไม่ทำงานทำให้ผู้ใช้สับสนในสายตา

โปรดดูภาพเหล่านี้สำหรับแนวคิดของสิ่งที่ฉันกำลังพูดถึง

ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่

ฉันต้องการแสดง taxonomies อย่างชัดเจนว่าจะแสดงอย่างไรในตอนแรกด้วยเพียงแค่คำที่ถูกต้องถูกเลือก มีวิธีการทำเช่นนี้หรือไม่โดยไม่ต้องแก้ไขแกน Wordpress โดยตรงฉันไม่เห็น hooks เลยที่จะใช้

ขอบคุณสำหรับความช่วยเหลือที่คุณสามารถให้ได้!

เฮเลน


1
ที่เกิดขึ้นกับอนุกรมวิธานที่สืบทอดกันมาทั้งหมดมันน่ารำคาญมาก!
Tom J Nowell

เป็นคำถามที่ดี +1
Anh Tran

คำตอบ:



2

ติดตามย้อนหลัง

ตรวจสอบก่อนว่าสิ่งนี้เกิดขึ้นจริง:

กล่องเมตาจะได้รับการเพิ่มบนpost.phpและpost-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แท็บเป็นคนที่มีรายชื่อ ภายในเราได้ฟังก์ชั่นที่มีชื่อว่าdivwp_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 filters / hooks และ PHP

ทำสิ่งที่ชอบ ...

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

... จะเป็นการปิดการใช้งานกล่องกาเครื่องหมายอย่างสมบูรณ์

จะอัปเดตหากฉันได้รับข้อมูลเพิ่มเติมและ (อาจเป็นวิธีแก้ปัญหา)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.