theme-development – ¿Cómo mostrar un metabox personalizado en la pantalla "Edición rápida"?

Pregunta:

He usado add_meta_box () para agregar un metabox personalizado a la ventana de edición de WordPress tanto en páginas como en publicaciones.

¿Cómo puedo hacer que este cuadro de meta también se muestre en la pantalla "Edición rápida"?

Idealmente, me gustaría que apareciera justo a la derecha del selector de Categorías.

Respuesta:

Parece que no hay una manera fácil de hacer esto, debe agregar todo el código usted mismo. inline_edit_row() , la función que dibuja las pantallas de Edición rápida y Edición masiva, parece tener solo una acción a la que puede conectarse: quick_edit_custom_box o bulk_edit_custom_box . Se llama para todas las columnas no centrales que wp_manage_posts_columns() . Hay algunos filtros que puede usar para agregar una columna, por ejemplo, manage_posts_columns . Desafortunadamente, esta función define los encabezados de columna de la tabla de publicaciones, por lo que debe eliminarla nuevamente antes de que print_column_headers() imprima. Esto se puede hacer en la función get_column_headers() , con el manage_[screen_id]_headers . edit-post es la identificación de pantalla para la pantalla Editar edit-post .

En conjunto, esto da un truco como el siguiente para agregar algo de código. Descubrir dónde puede manejar el envío del formulario se deja (actualmente) como un ejercicio para el lector.

// 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';
    }
}

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım