Cum să adaugi un buton în pagina de postări pentru tipuri de postări personalizate

1 sept. 2015, 08:46:16
Vizualizări: 20.6K
Voturi: 4

Cum pot adăuga un buton într-o pagină de postări? (În acest caz pentru un tip de postare personalizat).

Aș dori să-l plasez lângă sau în apropierea butonului "Adaugă nou", pentru a importa conținut dintr-un serviciu web.

0
Toate răspunsurile la întrebare 2
1

Puteți adăuga butonul prin funcția add_meta_box.

function add_your_meta_box(){

add_meta_box('your-metabox-id', 'Titlu', '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="Adaugă nou" id="add-new"/>
<?php }

Dacă doriți să adăugați la mai multe tipuri de postări, ar trebui să utilizați o buclă foreach.

function add_your_meta_box(){

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

  foreach($types as $type){

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

}

add_action('add_meta_boxes', 'add_your_meta_box'); 
1 sept. 2015 12:03:28
Comentarii

Această soluție adaugă butonul pe pagina de editare a postării, nu pe pagina de listare a postărilor, ceea ce era ceea ce doream inițial. Cu toate acestea, ar putea fi un loc potrivit pentru a adăuga un astfel de buton.

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

Așa:

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

Acest cod (adaugat în functions.php) va adăuga dinamic un nou link după butonul "Adaugă nou".

1 sept. 2015 09:50:26
Comentarii

Speram într-o oarecare măsură că utilizarea javascript nu va fi necesară. Dar dacă nu există un hook pentru a adăuga butoane, și putem presupune în siguranță că .wrap h1 există în teme... Atunci cred că este acceptabil.

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

Nu cunosc vreun hook care să poată plasa HTML exact în acel loc. Și este bazat pe structura HTML din wp-admin, așa că nu va fi afectat de nicio modificare din tema front-end.

Marek Marek
1 sept. 2015 11:13:11

Foarte ciudat că nu există o "metodă Wordpress" pentru a face asta. Sau poate... aceasta este "metoda Wordpress"...

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