แสดงฟิลด์ที่กำหนดเองในการแก้ไขด่วน


19

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

เป็นไปได้หรือไม่ที่จะเพิ่มฟิลด์ที่กำหนดเองที่สามารถแก้ไขได้ใน Quick Edit หรือฉันโชคไม่ดี?


ฉันตอบที่นี่พร้อมลิงก์ไปยังปลั๊กอิน Custom Bulk / Quick Edit WordPress ของฉันและรหัส Gist ที่สมบูรณ์สำหรับกลุ่มโพสต์ที่กำหนดเองและสถานการณ์การแก้ไขด่วนสำหรับฟิลด์ที่กำหนดเอง 3 รายการ
Michael Cannon


1
มีแบบฝึกหัดที่สวยงามพร้อมให้บริการที่shibashake.com/wordpress-theme/ …
holyidiot

คำตอบ:


5

หลังจากเพิ่มคอลัมน์ที่กำหนดเองของเราแล้วเราพร้อมที่จะขยายเมนูโพสต์แก้ไขด่วนของเราโดยใช้เบ็ดการกระทำ quick_edit_custom_box

หมายเหตุ - ตะขอการกระทำ quick_edit_custom_box จะไม่เริ่มทำงานเว้นแต่จะมีคอลัมน์ที่กำหนดเองอยู่ นั่นคือเหตุผลที่เราเริ่มต้นด้วยการเพิ่มคอลัมน์ที่กำหนดเอง

add_action('quick_edit_custom_box',  'shiba_add_quick_edit', 10, 2);

function shiba_add_quick_edit($column_name, $post_type) {
if ($column_name != 'widget_set') return;
?>
<fieldset class="inline-edit-col-left">
<div class="inline-edit-col">
    <span class="title">Widget Set</span>
    <input type="hidden" name="shiba_widget_set_noncename" id="shiba_widget_set_noncename" value="" />
    <?php // Get all widget sets
        $widget_sets = get_posts( array( 'post_type' => 'widget_set',
                        'numberposts' => -1,
                        'post_status' => 'publish') );
    ?>
    <select name='post_widget_set' id='post_widget_set'>
        <option class='widget-option' value='0'>None</option>
        <?php 
        foreach ($widget_sets as $widget_set) {
            echo "<option class='widget-option' value='{$widget_set->ID}'>{$widget_set->post_title}</option>\n";
        }
            ?>
    </select>
    </div>
    </fieldset>
    <?php
}

บรรทัดที่ 5 - แสดงเฉพาะส่วนขยายแก้ไขด่วนของเราบนหน้าจอที่เกี่ยวข้อง บรรทัดที่ 7 ถึง 25 - แสดงเมนูดร็อปดาวน์ที่กำหนดเองของเราสำหรับการเลือกชุดวิดเจ็ต


2

โปรดทราบว่าเรากำลังรวมเมตาโพสต์ของเราไว้ใน div ด้วยรหัส“ release_date-” บวกกับรหัสโพสต์ สิ่งนี้จะมีประโยชน์เมื่อเราเติมแถว“ แก้ไขด่วน” ของเรา รายละเอียดทั้งหมดที่นี่

add_action( 'manage_posts_custom_column', 'rachel_carden_populating_my_posts_columns', 10, 2 );
function rachel_carden_populating_my_posts_columns( $column_name, $post_id ) {
   switch( $column_name ) {
      case 'release_date':
         echo '<div id="release_date-' . $post_id . '">' . get_post_meta( $post_id, 'release_date', true ) . '</div>';
         break;
   }
}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.