Mostrar campos personalizados na edição rápida

19

Eu tenho vários campos personalizados que eu preciso que meu cliente possa editar a qualquer momento. Por uma questão de conveniência, gostaria que eles pudessem editar esses campos personalizados na Edição rápida. Dessa forma, eles não precisam abrir um monte de novas páginas para entrar em cada postagem.

É possível adicionar campos personalizados editáveis ​​ao Quick Edit? Ou estou sem sorte?

jkupczak
fonte
Eu respondi aqui com um link para meu plug-in WordPress de edição em massa / edição rápida personalizada e o código Gist completo para um cenário de edição em massa e edição rápida de tipo de postagem personalizado para campos com 3 customizações.
Michael Cannon
1
Há um belo tutorial vailable em shibashake.com/wordpress-theme/...
holyidiot

Respostas:

5

Depois de adicionar nossa coluna personalizada, estamos prontos para expandir nosso menu Publicar edição rápida usando o gancho de ação quick_edit_custom_box.

Nota - O gancho de ação quick_edit_custom_box não será acionado, a menos que haja colunas personalizadas presentes. Por isso, começamos adicionando uma coluna 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
}

Linha 5 - renderize apenas nossa extensão Edição Rápida na tela relevante. Linhas 7 a 25 - Renderize nosso menu suspenso personalizado para selecionar conjuntos de widgets.

jim.duck
fonte
2

Observe que estamos agrupando nossa meta de postagem em uma div com um ID "release_date-" mais o ID da postagem. Isso será útil quando preenchermos a linha "Edição rápida". Detalhe completo aqui

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
fonte