Pokaż pola niestandardowe w szybkiej edycji


19

Mam kilka niestandardowych pól, których potrzebuję, aby mój klient mógł edytować w dowolnym momencie. Dla wygody chciałbym, aby mogli edytować te niestandardowe pola w Szybkiej edycji. W ten sposób nie muszą otwierać wielu nowych stron, aby przejść do każdego postu.

Czy można dodać edytowalne pola niestandardowe do Szybkiej edycji? Czy mam pecha?


Mam tu odpowiedzi z linkiem do mojego niestandardowej luzem / Quick Edit WordPress wtyczki i kompletny kod Gist dla luzem niestandardowego typu post i szybkiej edycji scenariusza dla pól 3-niestandardowych.
Michael Cannon


Odpowiedzi:


5

Po dodaniu niestandardowej kolumny jesteśmy gotowi rozwinąć nasze menu Publikuj szybką edycję za pomocą haka akcji quick_edit_custom_box.

Uwaga - Hak akcji quick_edit_custom_box nie uruchomi się, dopóki nie będą dostępne niestandardowe kolumny. Dlatego zaczęliśmy od dodania niestandardowej kolumny.

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
}

Wiersz 5 - renderuj nasze rozszerzenie szybkiej edycji tylko na odpowiednim ekranie. Linie od 7 do 25 - Renderuj nasze niestandardowe menu rozwijane do wyboru zestawów widżetów.


2

Zauważ, że zawijamy naszą meta post do div z identyfikatorem „release_date-” plus id postu. Przyda się to, gdy zapełniamy wiersz „Szybka edycja”. Pełne szczegóły tutaj

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;
   }
}
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.