it-swarm.com.de

Benutzerdefinierte Felder in der Schnellbearbeitung anzeigen

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?

19
jkupczak

Nachdem Sie unsere benutzerdefinierte Spalte hinzugefügt haben, können Sie unser Post Quick Edit-Menü erweitern den Aktions-Hook quick_edit_custom_box verwenden.

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 unsere Quick Edit-Erweiterung nur auf dem entsprechenden Bildschirm. Zeilen 7 bis 25 - Rendern Sie unser benutzerdefiniertes Dropdown-Menü zum Auswählen von Widget-Sets.

5
jim.duck

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;
   }
}
2
Exclutips