¿Cómo se puede vincular con la etiqueta metabox?

4

He estado buscando una forma de agregar un mensaje a la etiqueta metabox antes de la taxonomía de datos de entrada-wp. Al buscar bajo las etiquetas y pero solo pude rellenar catorce resultados .

Cuando investigo el núcleo para data-wp-taxonomy , encontré el archivo meta-boxes.php y la función para post_tags_meta_box , lo que me llevó a Cómo agregar recordatorios / Notes a las nuevas cajas de metadatos , pero esa pregunta tiene más de cinco años y está relacionada con jQuery:

function load_my_alerts(){
      wp_register_script( 
        'my_alerts', 
        get_template_directory_uri() . '/js/alerts.js', 
        array( 'jquery' )
    );
    wp_enqueue_script( 'my_alerts' );
}
add_action('admin_enqueue_scripts', 'load_my_alerts');

¿Hay otra forma de agregar un mensaje antes de la entrada en la etiqueta metabox?

    
pregunta DᴀʀᴛʜVᴀᴅᴇʀ 22.06.2017 - 17:32

1 respuesta

5

Aquí hay una solución específica para el meta box de etiquetas posteriores.

Podemos registrar una devolución de llamada metabox personalizada para la taxonomía post_tag con:

add_filter( 'register_taxonomy_args', function( $args, $taxonomy )
{
    // Replace the original (post_tag) metabox callback with our wrapper
    if( 'post_tag' === $taxonomy )
        $args['meta_box_cb'] = 'wpse_post_tags_meta_box';

    return $args;

}, 10, 2 );

donde nuestra devolución de llamada personalizada es, por ejemplo:

function wpse_post_tags_meta_box( $post, $box )
{
    // Custom action
    do_action( 'wpse_before_post_tags_meta_box', $post, $box );

    // Original callback. Note it will echo the stuff, not return it
    post_tags_meta_box( $post, $box );
}

Ahora podemos enganchar en el gancho personalizado wpse_before_post_tags_meta_box cuando sea necesario.

Si necesitamos inyectar algo dentro de la función post_tags_meta_box() , entonces podríamos intentar usar el búfer de salida para que funcione como una cadena. También es posible duplicar esa función, ¡pero esa función podría cambiar fácilmente en el futuro! Así que evitaría eso si es posible.

    
respondido por el birgire 22.06.2017 - 18:17

Lea otras preguntas en las etiquetas