Mostrar campos personalizados en Edición rápida

19

Tengo varios campos personalizados que necesito que mi cliente pueda editar en cualquier momento. En aras de la conveniencia, me gustaría que puedan editar estos campos personalizados desde la Edición rápida. De esta manera, no tienen que abrir un montón de páginas nuevas para ingresar a cada publicación.

¿Es posible agregar campos personalizados editables a Edición rápida? ¿O no tengo suerte?

jkupczak
fuente
He respondido aquí con un enlace a mi plugin de WordPress Custom Bulk / Quick Edit y el código Gist completo para un tipo de publicación personalizada y un escenario de edición rápida para campos personalizados.
Michael Cannon
1
Hay un hermoso tutorial disponible en shibashake.com/wordpress-theme/…
holyidiot

Respuestas:

5

Después de agregar nuestra columna personalizada, estamos listos para expandir nuestro menú Publicar Edición Rápida usando el gancho de acción quick_edit_custom_box.

Nota: el gancho de acción quick_edit_custom_box no se activará a menos que haya columnas personalizadas presentes. Es por eso que comenzamos agregando una columna personalizada.

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
}

Línea 5: solo muestre nuestra extensión de Edición rápida en la pantalla correspondiente. Líneas 7 a 25: renderice nuestro menú desplegable personalizado para seleccionar conjuntos de widgets.

jim.duck
fuente
2

Tenga en cuenta que estamos envolviendo nuestra meta de publicación en un div con una identificación de "release_date-" más la identificación de la publicación. Esto será útil cuando completemos nuestra fila "Edición rápida". Detalle completo aquí

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