J'ai besoin de plusieurs champs personnalisés 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 entrer dans chaque message.
Est-il possible d'ajouter des champs personnalisés modifiables à Modification rapide? Ou suis-je à court de chance?
Après avoir ajouté notre colonne personnalisée, nous sommes prêts à développer notre menu Publication rapide à l’aide du hook d’action quick_edit_custom_box.
Remarque - Le hook 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 notre extension Édition rapide uniquement sur l'écran approprié. Lignes 7 à 25 - Afficher notre menu déroulant personnalisé pour la sélection de jeux de widgets.
Notez que nous encapsulons notre méta de publication dans une div avec un identifiant de "release_date-" plus l'identifiant de publication. Cela vous sera utile lorsque nous remplirons notre rangée "Edition rapide". Détail complet 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;
}
}