Cum să organizez mai bine meniurile pentru tipurile personalizate de postări programatic?

25 oct. 2012, 20:13:01
Vizualizări: 905
Voturi: 3

Un proiect pe care l-am preluat avea o duzină de tipuri personalizate de postări. Problema este că toate apar separat în meniul lateral din admin. Nu arată prea ordonat. Există vreun plugin cu care pot face aceste elemente să apară ca submeniuri ale unui meniu părinte, sau există vreo metodă programatică prin care pot edita fișierul functions.php al temei pentru a face aceste elemente să apară ca submeniuri?

0
Toate răspunsurile la întrebare 1
3

La funcția de înregistrare a unui nou tip de postare personalizată, poți seta acest CPT ca Submeniu la un element de meniu existent. Folosește parametrul show_in_menu.

Un exemplu:

register_post_type( 
    'issue', 
    apply_filters( 'wpit_register_issue_post_type', 
        array(
            'labels'          => $issue_labels,
            'rewrite'         => $issue_rewrite,
            'supports'        => $issue_supports,
            'taxonomies'      => $issue_taxonomies,
            'menu_position'   => 5,
            'public'          => TRUE,
            'show_ui'         => TRUE,
            'show_in_menu'    => 'edit.php',
            'can_export'      => TRUE,
            'capability_type' => 'post',
            'query_var'       => TRUE
        )
    ) 
);

Puteți găsi șirul pentru elementele la trecerea cursorului, cum ar fi upload.php pe elementul Media.

25 oct. 2012 20:54:32
Comentarii

Am folosit acest generator util pentru a crea un Custom Post Type, iar apoi am instalat plugin-ul gratuit Admin Menu Editor și am creat un meniu personalizat numit "Management" cu slug/hook ca "mgmt". Apoi, tot ce a trebuit să fac în codul meu generat automat pentru tipul de postare personalizat a fost să adaug linia 'show_in_menu' => 'mgmt', și, desigur, funcționează! Mulțumesc mult!

Volomike Volomike
25 oct. 2012 21:09:04

Bine ai venit. Pentru fiecare sarcină, dă-i un generator ;)

bueltge bueltge
25 oct. 2012 21:32:58

Da, nu pot avea întotdeauna încredere în generatoarele de pe web, așa că trebuie să-mi creez propriul script PHP care să replice asta. În plus, este destul de ușor să folosești funcția add_menu_page() pentru a crea meniul "Management" în loc să folosești Admin Menu Editor.

Volomike Volomike
26 oct. 2012 00:35:26