Cómo agregar un botón a la página de entradas de un tipo de publicación personalizada
¿Cómo puedo agregar un botón a una página de entradas (en este caso, un tipo de publicación personalizada)?
Me gustaría colocarlo junto a, o cerca del botón "Añadir nuevo", para importar contenido desde un servicio web.
Puedes añadir un botón mediante la función add_meta_box.
function add_your_meta_box(){
add_meta_box('your-metabox-id', 'Título', 'function_of_metabox', 'custom_post_type', 'side', 'high');}
add_action('add_meta_boxes', 'add_your_meta_box');
function function_of_metabox()
{?>
<input type="submit" class="button button-primary button-large" value="Añadir nuevo" id="add-new"/>
<?php }
Si deseas añadirlo a múltiples tipos de publicación, deberías usar un bucle foreach.
function add_your_meta_box(){
$types = array("post","page","custom_post_type");
foreach($types as $type){
add_meta_box('your-metabox-id', 'Título', 'function_of_metabox', $type, 'side', 'high');}
}
add_action('add_meta_boxes', 'add_your_meta_box');

Así:
function custom_js_to_head() {
?>
<script>
jQuery(function(){
jQuery("body.post-type-YOUR-CUSTOM-POST-TYPE .wrap h1").append('<a href="index.php?param=your-action" class="page-title-action">Importar desde...</a>');
});
</script>
<?php
}
add_action('admin_head', 'custom_js_to_head');
Ese código (pegado en functions.php) agregará dinámicamente un nuevo enlace después del botón "Añadir nuevo".

Tenía la esperanza de que no fuera necesario el uso de javascript. Pero si no hay un hook para agregar botones, y es seguro asumir que .wrap h1 existe en los temas... entonces supongo que es aceptable.

No conozco ningún hook que pueda colocar HTML exactamente en ese lugar. Y está basado en la estructura HTML de wp-admin, por lo que no se verá afectado por ningún cambio en el tema del front-end.
