Cum pot obține ID-ul categoriei după numele categoriei?

22 iul. 2012, 00:18:17
Vizualizări: 43.7K
Voturi: 6

Am câteva categorii cu același nume [unele dintre ele sunt sub-categorii]. Și vreau să obțin un array cu ID-urile pentru un anumit nume de categorie. Am încercat asta:

$term = get_term_by('name', $cat_name, 'category');

dar se pare că get_term_by() returnează doar primul termen care se potrivește cu interogarea.

0
Toate răspunsurile la întrebare 2
1
14

Folosește get_terms(), care utilizează WP_Term_Query în spate. Pentru o listă completă a tuturor parametrilor disponibili, consultă documentația pentru WP_Term_Query::__construct

// Obține *ID-uri* de termeni al căror nume *se potrivește* cu "my_name"
$term_ids = get_terms([
    'fields' => 'ids',
    'taxonomy' => 'category',
    'name' => 'my_name',
    'hide_empty' => false,
]);

// Obține *obiecte* de termeni al căror nume *se potrivește* cu "my_name"
$terms = get_terms([
    'taxonomy' => 'category',
    'name' => 'my_name',
    'hide_empty' => false,
]);

// Obține *obiecte* de termeni al căror nume *conține* "my_name"
$terms = get_terms([
    'taxonomy' => 'category',
    'name__like' => 'my_name',
    'hide_empty' => false,
]);
22 iul. 2012 02:15:15
Comentarii

Mulțumesc foarte mult. Înainte de răspunsul tău, am făcut: `$id = array(); $args = array(
'hide_empty' => 0, );

$categories = get_categories( $args );

foreach($categories as $c){ if ($c->name == $cat_name){ $id[] = $c->term_id; } }`

Shimon S Shimon S
22 iul. 2012 14:06:42
0
10

get_cat_ID( $cat_name ) poate face treaba! Exemplu:

<?php
     $category_id = get_cat_ID('Nume Categorie');
     $q = 'cat=' . $category_id;
     query_posts($q);
     if (have_posts()) : while (have_posts()) : the_post();

     the_content();

     endwhile; endif;
?>

MAI MULTE detalii!

31 dec. 2012 08:36:58