Este singura modalitate de a adăuga termeni de taxonomie prin panoul de administrare?

22 oct. 2013, 16:41:00
Vizualizări: 121
Voturi: -2

Este posibil să înregistrezi termeni de taxonomie programatic dintr-un plugin? Aș dori să adaug o taxonomie personalizată 'zonă geografică' și să pre-populez taxonomia cu o listă de zone din Marea Britanie.

public function sample_taxonomy() {
    // creează o nouă taxonomie
    register_taxonomy(
        'resellers',
        'wps-reseller',
        array(
            'label' => __( 'Zone Geografice' ),
            'rewrite' => array( 'slug' => 'zona' ),
            'capabilities' => array(
                'assign_terms' => 'edit_guides',
                'edit_terms' => 'publish_guides'
            )
        )
    );
}

De asemenea, cum aș putea rula acest cod o singură dată ca parte a activării plugin-ului? Folosesc funcțiile de activare din WordPress plugin boilerplate.

2
Comentarii

Ai căutat deja pe site?

kaiser kaiser
22 oct. 2013 16:48:56

Se pare că nu suficient de amănunțit. Îmi cer scuze.

codecowboy codecowboy
22 oct. 2013 17:04:42
Toate răspunsurile la întrebare 1
9

Cred că cauți funcția wp_insert_term().

Un exemplu din Codex:

$parent_term = term_exists( 'fruits', 'product' ); // returnează un array dacă taxonomia este specificată
$parent_term_id = $parent_term['term_id']; // obține ID-ul numeric al termenului
wp_insert_term(
  'Măr', // termenul
  'product', // taxonomia
  array(
    'description'=> 'Un măr delicios.',
    'slug' => 'mar',
    'parent'=> $parent_term_id
  )
);
22 oct. 2013 16:51:41
Comentarii

Mulțumesc. Se pare că asta era ceea ce aveam nevoie. Dacă adaug acest cod pe 'init' conform codex-ului, va rula la fiecare solicitare, nu-i așa? Există vreo modalitate de a-l rula doar o singură dată?

codecowboy codecowboy
22 oct. 2013 18:17:26

Da, nu dorești să ruleze la fiecare încărcare de pagină, dar va trebui să determini când acest cod trebuie să ruleze. Nu pot să-ți spun eu acest lucru. La activarea plugin-ului? Când salvezi un articol? Alt moment?

s_ha_dum s_ha_dum
22 oct. 2013 18:30:10

Am încercat să-l rulez într-o funcție de activare a plugin-ului, dar nu părea să se execute.

codecowboy codecowboy
22 oct. 2013 18:41:30

poate pentru că tipul de postare personalizat nu există la activare?

codecowboy codecowboy
22 oct. 2013 19:06:11

Nu ai postat suficient cod/context pentru a oferi o soluție adecvată pentru rularea acestui cod doar o singură dată (nici aceasta nu face parte din întrebarea originală), dar probabil vei dori să conectezi o funcție la activarea pluginului care la rândul ei să conecteze funcția ta de "inserare termeni".

s_ha_dum s_ha_dum
22 oct. 2013 19:09:46

Mulțumesc. Poți să faci o legătură către o sursă reputabilă care descrie cum să conectezi o funcție la activarea pluginului?

codecowboy codecowboy
22 oct. 2013 19:13:39

Ce zici de asta? http://wordpress.stackexchange.com/search?q=plugin+activation

s_ha_dum s_ha_dum
22 oct. 2013 19:18:09

Trebuie să menționez că întrebarea ta a primit voturi negative și a fost propusă pentru închidere din cauza lipsei de efort de cercetare (presupunerea mea), iar ultima întrebare din comentarii suferă de aceeași problemă. Te rog să faci și tu puțină cercetare personală.

s_ha_dum s_ha_dum
22 oct. 2013 19:24:22

hai să continuăm această discuție în chat

codecowboy codecowboy
23 oct. 2013 12:04:39
Arată celelalte 4 comentarii