Saltar al contenido

Wordpress: agregue opciones de pantalla a las páginas de administración personalizadas

Agradecemos tu ayuda para extender nuestros ensayos en referencia a las ciencias de la computación.

Solución:

No necesita inventar una nueva fila de opciones de pantalla. Simplemente use metaboxes adecuados.

Actualmente, estás dibujando pseudo-metaboxes:


        

Usted debe hacer esto:

Entonces registre sus propios metaboxes con add_meta_box().

Lea Meta Boxes en páginas personalizadas de Stephen Harris para conocer todos los detalles (demostración en GitHub).
El punto principal es: obtendrá las opciones de pantalla para estos cuadros de forma gratuita.

Y cuando WordPress cambie el marcado interno de los metaboxes algún día, su código probablemente seguirá funcionando, porque ha utilizado la API.

Puede hacerlo, utilizando el filtro adecuado dentro de la WP_Screen clase. Solo asegúrate de no cambiarlo en por defecto:

como mostrar o ocultar la tabla

El siguiente filtro muestra cómo mostrar u ocultar la pestaña. En realidad, como hay un mejor filtro, la siguiente forma es más útil si necesita fuerza ocultar la pestaña cuando ya existe:

add_filter( 'screen_options_show_screen', function( $show, WP_Screen $screen )

    // Navigate to the screen of choice and uncomment the following line to find out the 'base' val
    // var_dump( $screen );
    return 'your_screen_id' !== $screen->base
        ? $show
        : true;
, 10, 2 );

Cómo mostrar la pestaña y agregar contenido personalizado

A continuación se muestra una pestaña de configuración que contiene un campo de entrada que contiene el valor amount que podría usar de cualquier manera en su página (por ejemplo, limitar los resultados de $wpdb consulta).

/**
 * @param string     $settings
 * @param WP_Screen $screen
 */
add_filter( 'screen_settings', function( $settings, WP_Screen $screen )

    if ( 'your_screen_id' !== $screen->base )
        return $settings;

    $amount = isset( $_GET['paged'] ) 
        ? filter_var(
            absint( $_GET['paged'] ),
            FILTER_SANITIZE_NUMBER_INT,
            FILTER_NULL_ON_FAILURE
        ) 
        : 1;

    return sprintf(
        ' '
        .'',
        .get_submit_button( 'Set', 'secondary', 'submit-amount', false ),
        $amount
    );
, 10, 2 );

Sección de Reseñas y Valoraciones

Recuerda algo, que tienes la capacidad de valorar esta sección si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *