web-dev-qa-db-fra.com

Obtenir l'ID de la catégorie à partir de l'ID de publication d'un type de publication personnalisé

Je souhaite obtenir un identifiant de catégorie à partir d'un identifiant de type personnalisé. J'ai l'identifiant du post, mais je n'arrive pas à obtenir son identifiant de catégorie.

J'ai utilisé tellement de codes mais cela ne fonctionne pas, cela peut être dû au type de message personnalisé.

$category = get_the_category( $post->ID );

Aucune suggestion?

4
Aman

wp_get_post_categories ne peut obtenir que POST catégories et non les catégories d'une publication personnalisée. Essayez plutôt ceci:

$category = get_the_terms( $post->ID, 'custom-taxonomy-here' );     
foreach ( $category as $cat){
   echo $cat->name;
}

Vérifiez ce lien

7
Gaurang P

Votre type de message personnalisé prend-il en charge la taxonomie de catégorie standard? Si la catégorie utilisée dans votre type d'article personnalisé est une taxonomie personnalisée et non la taxonomie de catégorie standard, vous devez get_the_terms() au lieu de get_the_category() .

$categories = get_the_terms($post->ID, "my-custom-taxonomy");
2
cybmeta

cette solution fonctionne pour moi:

    global $wpdb;

    // get all category id's based on post id
    $result = $wpdb->get_results( " select term_taxonomy_id from " . $wpdb->prefix . "term_relationships where object_id = '" . $post_id . "' " );
    $cats_ids_array = [];
    foreach ( $result as $c ) {
        $cats_ids_array[] = $c->term_taxonomy_id;
    }
0