Benutzerdefinierte Felder in der Schnellbearbeitung anzeigen


19

Ich habe mehrere benutzerdefinierte Felder, die mein Client jederzeit bearbeiten kann. Der Einfachheit halber möchte ich, dass sie diese benutzerdefinierten Felder über die Schnellbearbeitung bearbeiten können. Auf diese Weise müssen sie nicht viele neue Seiten öffnen, um in die einzelnen Posts zu gelangen.

Ist es möglich, bearbeitbare benutzerdefinierte Felder zur Schnellbearbeitung hinzuzufügen? Oder habe ich Pech?


Ich habe hier mit einem Link zu meinem Custom Bulk / Quick Edit WordPress-Plugin und dem vollständigen Gist-Code für ein benutzerdefiniertes Bulk- und Quick Edit-Szenario für 3 benutzerdefinierte Felder geantwortet .
Michael Cannon


1
Es gibt ein wunderschönes Tutorial unter shibashake.com/wordpress-theme/…
holyidiot

Antworten:


5

Nachdem Sie unsere benutzerdefinierte Spalte hinzugefügt haben, können Sie das Menü Post Quick Edit mithilfe des Aktions-Hooks quick_edit_custom_box erweitern.

Hinweis - Der Aktions-Hook quick_edit_custom_box wird nur ausgelöst, wenn benutzerdefinierte Spalten vorhanden sind. Aus diesem Grund haben wir zunächst eine benutzerdefinierte Spalte hinzugefügt.

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
}

Zeile 5 - Rendern Sie die Quick Edit-Erweiterung nur auf dem entsprechenden Bildschirm. Zeilen 7 bis 25 - Rendern Sie unser benutzerdefiniertes Dropdown-Menü zum Auswählen von Widget-Sets.


2

Beachten Sie, dass wir unser Post-Meta in ein div mit der ID "release_date-" plus der Post-ID einpacken. Dies wird nützlich sein, wenn wir unsere Zeile "Quick Edit" füllen. Vollständiges Detail hier

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;
   }
}
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.