Obține numele taxonomiilor după ID-ul postării

22 sept. 2014, 09:23:06
Vizualizări: 88.6K
Voturi: 8

Încerc să creez o pagină unică unde afișez câteva postări pe o singură pagină. Până acum totul merge bine. Funcționează perfect. Acum afișez postările într-un loop foreach unde verific dacă sunt conectate la pagină.

Am nevoie de ceva asemănător cu wp_get_post_terms($post->ID); dar asta nu funcționează. Există custom registered_taxonomy (taxonomii personalizate înregistrate).

Deci cum pot obține toate taxonomy names (numele taxonomiilor) după $post->ID?

1
Comentarii

Deci, nu ai nevoie să obții o listă de termeni, ci o listă a taxonomiilor cărora le aparțin acești termeni și care sunt atașate postării?

Pieter Goosen Pieter Goosen
22 sept. 2014 10:03:00
Toate răspunsurile la întrebare 4
2
10

Ooh, mulțumesc pentru sfaturi și ajutor (Robert + Peter). Termenul m-a derutat puțin :) Aceasta a funcționat pentru mine:

$taxonomies=get_taxonomies('','names');
wp_get_post_terms($post->ID, $taxonomies,  array("fields" => "names"));
22 sept. 2014 10:09:37
Comentarii

Ar trebui să vezi răspunsul meu aici despre taxonomii. Acest lucru te va ajuta să înțelegi care este care. Nu uita să accepți propriul răspuns

Pieter Goosen Pieter Goosen
22 sept. 2014 10:11:52

@PieterGoosen mulțumesc pentru comentariu și pentru linkul către acel răspuns!

caramba caramba
22 sept. 2014 10:14:19
0

Pentru orice tip de postare personalizată, poți obține cu ușurință lista de taxonomii a postării curente. Copiază și lipește următorul cod:

<?php if(have_posts()) : the_post();  
    $post_type = get_post_type(get_the_ID());   
    $taxonomies = get_object_taxonomies($post_type);   
    $taxonomy_names = wp_get_object_terms(get_the_ID(), $taxonomies,  array("fields" => "names")); 
    if(!empty($taxonomy_names)) :
       foreach($taxonomy_names as $tax_name) : ?>              
          <p><?php echo $tax_name; ?> </p>
       <?php endforeach;
    endif;
endif;  ?>   
27 nov. 2019 06:50:37
4

Încearcă get_the_term_list

<?php echo get_the_term_list( $post->ID, 'taxonomy', '', ', ' ); ?>

Poți folosi acest cod în buclă. De asemenea, înlocuiește 'taxonomy' din codul de mai sus cu taxa ta.

22 sept. 2014 09:30:31
Comentarii

afișează o eroare: object(WP_Error)#2386 (2) { ["errors":"WP_Error":private]=> array(1) { ["invalid_taxonomy"]=>...

caramba caramba
22 sept. 2014 09:35:25

Va trebui să modifici Numele taxonomiei în codul de mai sus.

Robert hue Robert hue
22 sept. 2014 09:36:24

Există câteva nume de taxonomii, și asta încerc să aflu care sunt denumirile lor..

caramba caramba
22 sept. 2014 09:38:02

Soluție excelentă! Simplă și elegantă!

Himechi90 Himechi90
4 sept. 2020 06:52:29
0
$term_list = get_the_terms($post->ID, 'your_taxonomy');
$types ='';
foreach($term_list as $term_single) {
     $types .= ucfirst($term_single->slug).', ';
}
$typesz = rtrim($types, ', ');
echo $typesz;
26 iul. 2019 21:22:04