Wp set post terms nu functionează

17 sept. 2013, 22:00:40
Vizualizări: 22.2K
Voturi: 4

Codul meu nu funcționează, nu adaugă taxonomia

add_action('init', 'post_test', 10);
function post_test() {
    $empty = get_page_by_title('Produs test', OBJECT, 'produse');
    if(empty($empty)) {
        $insert_post = array(
            'post_status' => 'publish',
            'post_type' => 'produse',
            'post_title' => 'Produs test',
        );
        $post_id = wp_insert_post($insert_post);
        if ($post_id) {
            wp_set_post_terms($post_id, array('metale'), 'categoria-produse'); // id-ul etichetei metale este 108
        }
        add_post_meta($post_id, 'furnizori', '5948'); // id-ul furnizorului
        add_post_meta($post_id, '_furnizori', 'field_52377232eb265');
    }
}

De ce nu funcționează?

0
Toate răspunsurile la întrebare 1
5
22

După cum se menționează în wp_set_post_terms Comentariu:

Această funcție va funcționa doar pe tipul de postare nativ. Pentru o taxonomie pe un tip de postare personalizat, utilizați wp_set_object_terms()

wp_set_object_terms

17 sept. 2013 22:11:23
Comentarii

Mulțumesc frate, acest cod funcționează! : wp_set_object_terms($post_id, array('metais'), 'categoria-produtos', true); // tag-ul metais are id-ul 108 mulțumesc mulțumesc

Raank Raank
17 sept. 2013 22:17:21

Acest lucru nu mai este valabil. Pentru WP 5+ poți folosi ambele chiar și pentru post types personalizate.

Anatol Bivol Anatol Bivol
10 feb. 2019 11:23:21

Acum Codex spune: This function will work on any post type. Alternatively, wp_set_object_terms() can be used.

Anatol Bivol Anatol Bivol
10 feb. 2019 11:29:13

@ToleaBivol Nu pot confirma asta, am pierdut 4 ore căutând de ce taxonomia personalizată nu era setată, am aflat că e din cauza diferenței dintre wp_set_post_terms și wp_set_object_terms

n.r. n.r.
23 aug. 2020 00:05:26

Clasic WordPress quality code.

marek.m marek.m
8 feb. 2021 10:16:16