WordPress : Comment afficher une méta-boîte personnalisée sur l’écran « Édition rapide » ?
J’ai utilisé add_meta_box() pour ajouter une méta-boîte personnalisée à la fenêtre d’édition de WordPress sur les pages et les publications.
Comment puis-je faire en sorte que cette boîte de méta s’affiche également sur l’écran « Modification rapide » ?
Idéalement, j’aimerais qu’il apparaisse juste à droite du sélecteur de catégories.
Solution n°1 trouvée
Il ne semble pas y avoir de moyen facile de le faire, vous devez ajouter tout le code vous-même. inline_edit_row()
, la fonction qui dessine les écrans Quick Edit et Bulk Edit, semble n’avoir qu’une seule action à laquelle vous pouvez vous connecter : quick_edit_custom_box
ou bulk_edit_custom_box
. Il est appelé pour toutes les colonnes non essentielles renvoyées wp_manage_posts_columns()
. Vous pouvez utiliser certains filtres pour ajouter une colonne, par exemple manage_posts_columns
. Malheureusement, cette fonction définit les en-têtes de colonne du tableau des publications, vous devez donc la supprimer à nouveau avant de print_column_headers()
les imprimer. Cela peut être fait dans la get_column_headers()
fonction, avec le manage_[screen_id]_headers
filtre. edit-post
est l’identifiant d’écran pour l’écran Modifier les messages.
Tous ensemble, cela donne un hack comme celui-ci pour ajouter du code. Découvrir où vous pouvez gérer la soumission du formulaire est (actuellement) laissé comme un exercice au lecteur.
// Add a dummy column for the `posts` post type
add_filter('manage_posts_columns', 'add_dummy_column', 10, 2);
function add_dummy_column($posts_columns, $post_type)
{
$posts_columns['dummy'] = 'Dummy column';
return $posts_columns;
}
// But remove it again on the edit screen (other screens to?)
add_filter('manage_edit-post_columns', 'remove_dummy_column');
function remove_dummy_column($posts_columns)
{
unset($posts_columns['dummy']);
return $posts_columns;
}
// Add our text to the quick edit box
add_action('quick_edit_custom_box', 'on_quick_edit_custom_box', 10, 2);
function on_quick_edit_custom_box($column_name, $post_type)
{
if ('dummy' == $column_name) {
echo 'Extra content in the quick edit box';
}
}
// Add our text to the bulk edit box
add_action('bulk_edit_custom_box', 'on_bulk_edit_custom_box', 10, 2);
function on_bulk_edit_custom_box($column_name, $post_type)
{
if ('dummy' == $column_name) {
echo 'Extra content in the bulk edit box';
}
}
0 commentaire