¿Por qué no funciona 'add_meta_box'?

2

Estoy intentando agregar algunos campos de metadatos a un producto WPSC con el siguiente código:

/**
 * data callback
 */
function abc_callback($object, $box)
{
    echo 'callback executed!';
}

/**
 * add custom fields
 */
function abc_load_post($post_id)
{
    add_meta_box('abc_post_id', 'abc', 'abc_callback', 'post', 'normal', 'default', array());
}
add_action('load-post.php', 'abc_load_post', 10, 2);
add_action('load-post-new.php', 'abc_load_post', 10, 2);

La función abc_load_post se llama bien, pero en realidad no aparece nada en la página de edición del producto (es decir, /wp-admin/post.php )

¿Puede alguien explicar lo que estoy haciendo mal?

    
pregunta Matthew 03.04.2012 - 15:58

2 respuestas

5

Puedo ver 2 problemas con tu código. Parece que desea que ese meta box aparezca en las páginas del producto, pero en realidad lo agrega al tipo de publicación y no al tipo de publicación del producto. El otro problema es el gancho al que adjuntas tu función. Prueba esto:

add_action( 'add_meta_boxes_{post_type}', 'abc_load_post' );

Sustituya {post_type} con cualquier tipo de publicación que realmente desee segmentar, por ejemplo. Producto, post o página. El cuarto argumento para add_meta_box () es el tipo de publicación, por cierto, que has configurado para 'publicar'.

    
respondido por el shabushabu 03.04.2012 - 16:07
1

Use la acción 'add_meta_boxes' para agregar un meta box. Vea mi plugin de demostración Basic Meta Box para ver un ejemplo.

    
respondido por el fuxia 03.04.2012 - 16:06

Lea otras preguntas en las etiquetas