Afficher les champs personnalisés dans l'édition rapide

19

J'ai plusieurs champs personnalisés que j'ai besoin que mon client puisse modifier à tout moment. Par souci de commodité, j'aimerais qu'ils soient en mesure de modifier ces champs personnalisés à partir de la modification rapide. De cette façon, ils n'ont pas à ouvrir un tas de nouvelles pages pour accéder à chaque publication.

Est-il possible d'ajouter des champs personnalisés modifiables à l'édition rapide? Ou n'ai-je pas de chance?

jkupczak
la source
J'ai répondu ici avec un lien vers mon plugin WordPress Custom Bulk / Quick Edit et le code Gist complet pour un type de publication personnalisé en vrac et un scénario d'édition rapide pour 3 champs personnalisés.
Michael Cannon
1
Il y a un beau tutoriel disponible sur shibashake.com/wordpress-theme/…
Holyidiot

Réponses:

5

Après avoir ajouté notre colonne personnalisée, nous sommes prêts à développer notre menu Post Quick Edit à l'aide du crochet d'action quick_edit_custom_box.

Remarque - Le crochet d'action quick_edit_custom_box ne se déclenchera que si des colonnes personnalisées sont présentes. C'est pourquoi nous avons commencé par ajouter une colonne personnalisée.

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
}

Ligne 5 - Rendez uniquement notre extension Quick Edit sur l'écran correspondant. Lignes 7 à 25 - Affichez notre menu déroulant personnalisé pour sélectionner des ensembles de widgets.

jim.duck
la source
2

Notez que nous emballons notre méta post dans une div avec un id de "release_date-" plus l'id du post. Cela vous sera utile lorsque nous remplirons notre ligne «Édition rapide». Tous les détails ici

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
la source