È l'unico modo per aggiungere termini di tassonomia tramite un pannello di amministrazione?

22 ott 2013, 16:41:00
Visualizzazioni: 121
Voti: -2

È possibile registrare termini di tassonomia programmaticamente da un plugin? Vorrei aggiungere una tassonomia personalizzata 'area geografica' e precompilarla con un elenco di aree nel Regno Unito.

public function sample_taxonomy() {
    // crea una nuova tassonomia
    register_taxonomy(
        'resellers',
        'wps-reseller',
        array(
            'label' => __( 'Aree Geografiche' ),
            'rewrite' => array( 'slug' => 'area' ),
            'capabilities' => array(
                'assign_terms' => 'edit_guides',
                'edit_terms' => 'publish_guides'
            )
        )
    );
}

Inoltre, come potrei eseguire questo codice solo una volta come parte dell'attivazione del plugin? Sto utilizzando le funzioni di attivazione della WordPress plugin boilerplate.

2
Commenti

Hai già cercato nel sito?

kaiser kaiser
22 ott 2013 16:48:56

A quanto pare non abbastanza a fondo. Mi scuso.

codecowboy codecowboy
22 ott 2013 17:04:42
Tutte le risposte alla domanda 1
9

Penso che tu stia cercando wp_insert_term().

Un esempio dal Codex:

$parent_term = term_exists( 'fruits', 'product' ); // restituisce un array se viene specificata la tassonomia
$parent_term_id = $parent_term['term_id']; // ottiene l'ID numerico del termine
wp_insert_term(
  'Mela', // il termine 
  'product', // la tassonomia
  array(
    'description'=> 'Una mela deliziosa.',
    'slug' => 'mela',
    'parent'=> $parent_term_id
  )
);
22 ott 2013 16:51:41
Commenti

Grazie. Sembra proprio ciò di cui avevo bisogno. Se lo aggiungo su 'init' come nel codex, continuerà a essere eseguito ad ogni richiesta, vero? C'è un modo per eseguirlo solo una volta?

codecowboy codecowboy
22 ott 2013 18:17:26

Sì, non vuoi che venga eseguito ad ogni caricamento di pagina, ma dovrai determinare quando deve essere eseguito. Non posso dirtelo io. All'attivazione del plugin? Quando salvi un articolo? In qualche altro momento?

s_ha_dum s_ha_dum
22 ott 2013 18:30:10

Ho provato a inserirlo in una funzione di attivazione del plugin ma non sembrava essere eseguito.

codecowboy codecowboy
22 ott 2013 18:41:30

forse perché il tipo di post personalizzato non esiste all'attivazione?

codecowboy codecowboy
22 ott 2013 19:06:11

Non hai fornito abbastanza codice/contesto per dare una soluzione corretta per eseguire questo codice solo una volta (né questo fa parte della domanda originale), ma probabilmente vorrai agganciare una funzione all'attivazione del plugin che a sua volta aggancia la tua funzione "inserisci termini".

s_ha_dum s_ha_dum
22 ott 2013 19:09:46

Grazie. Puoi indicare una risorsa affidabile che descriva come agganciare una funzione all'attivazione del plugin?

codecowboy codecowboy
22 ott 2013 19:13:39

Che ne dici di questo? http://wordpress.stackexchange.com/search?q=plugin+activation

s_ha_dum s_ha_dum
22 ott 2013 19:18:09

Dovrei farti notare che la tua domanda è stata votata negativamente e proposta per la chiusura per la mancanza di sforzo nella ricerca (a mio parere) e quell'ultima domanda nei commenti soffre dello stesso errore. Per favore, fai un po' di ricerca da solo.

s_ha_dum s_ha_dum
22 ott 2013 19:24:22

continuiamo questa discussione nella chat

codecowboy codecowboy
23 ott 2013 12:04:39
Mostra i restanti 4 commenti