Come aggiungere un pulsante alla pagina degli articoli di un custom post type

1 set 2015, 08:46:16
Visualizzazioni: 20.6K
Voti: 4

Come posso aggiungere un pulsante a una pagina degli articoli (in questo caso un custom post type)?

Vorrei posizionarlo accanto o vicino al pulsante "Aggiungi nuovo", per importare contenuti da un web service.

0
Tutte le risposte alla domanda 2
1

Puoi aggiungere un pulsante tramite la funzione add_meta_box.

function add_your_meta_box(){

add_meta_box('your-metabox-id', 'Titolo', '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="Aggiungi Nuovo" id="add-new"/>
<?php }

Se vuoi aggiungerlo a più tipi di post, dovresti usare un ciclo foreach.

function add_your_meta_box(){

  $types = array("post","page","custom_post_type");

  foreach($types as $type){

    add_meta_box('your-metabox-id', 'Titolo', 'function_of_metabox', $type, 'side', 'high');}

}

add_action('add_meta_boxes', 'add_your_meta_box'); 
1 set 2015 12:03:28
Commenti

Questa soluzione aggiunge il pulsante nella pagina di modifica del post, non nella pagina di elenco dei post, che era quello che volevo originariamente. Potrebbe comunque essere un posto accettabile per aggiungere un pulsante del genere.

Jouni S. Jouni S.
1 set 2015 13:17:25
3

In questo modo:

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">Importa da ...</a>');
    });
    </script>
    <?php
}
add_action('admin_head', 'custom_js_to_head');

Questo codice (da incollare in functions.php) aggiungerà dinamicamente un nuovo link dopo il pulsante "Aggiungi nuovo".

1 set 2015 09:50:26
Commenti

Speravo un po' che non fosse necessario l'uso di javascript. Ma se non esiste un hook per aggiungere pulsanti, e possiamo assumere che .wrap h1 esista nei temi... Allora immagino sia accettabile.

Jouni S. Jouni S.
1 set 2015 09:56:10

Non conosco alcun hook che possa posizionare del HTML esattamente in quel punto. Ed è basato sulla struttura HTML di wp-admin, quindi non sarà influenzato da alcun cambiamento del tema front-end.

Marek Marek
1 set 2015 11:13:11

Molto strano che non esista un "modo Wordpress" per farlo. O forse... questo è il "modo Wordpress"...

Alexandre Bourlier Alexandre Bourlier
25 mag 2017 22:31:36