Oshrib
Estoy tratando de obtener id\name de la etiqueta por su slug.
Ese es mi código:
$tag = get_term_by('slug', 'hedoms', 'post_tag');
$tag_id = $tag->term_id;
<h1><?php echo $tag->name;?></h1>
Lo saqué de aquí:
https://codex.wordpress.org/Function_Reference/get_term_by
Tengo etiqueta con la babosa hedomes pero el <h1>
está vacío, no devuelve el valor. Probé esta función (get_term_by) con categoría, y el mismo resultado.
el segundo campo es la babosa.
Pero si lo hago con id y no con slug, funciona bien:
$tag_id = get_term_by('id', 97, 'post_tag');
echo $tag_id->name;
Parece que get_term_by reconoce solo ‘id’ como campo.
¿Qué extraño aquí? debe estar en bucle o algo?
El archivo que intento hacer es archive-product.php
de Woocommerce.
$tag = get_term_by('slug', ' hedoms','post_tag');
$tag_id = $tag->term_id;
-
gracias pero… Es el mismo código mío. no funciona.
– Oshrib
22 de junio de 2017 a las 20:37
-
@Oshrib, ¿ha intentado lo mismo en el mismo otro archivo?
– mayank
22 de junio de 2017 a las 20:39
-
Sí. también en single.php
– Oshrib
22 de junio de 2017 a las 20:41
-
He probado con wp_query.
$the_query = new WP_Query( array( 'post_type' => 'Adverts', 'tax_query' => array( array ( 'taxonomy' => 'post_tag', 'field' => 'slug', 'terms' => 'hedoms', ) ), ) );
– mayank
22 de junio de 2017 a las 21:08
-
Que en bucle obtendrá los datos que desea. Es decir
while ( $the_query->have_posts() ) : $the_query->the_post(); /*var_dump() data*/ endwhile; wp_reset_postdata();
– mayank
22 de junio de 2017 a las 21:10
Bien, he encontrado la solución.
Configuré en get_term_by la taxonomía ‘post_tag’ en lugar de ‘product_tag’ como etiquetas de woocommerce. La próxima vez miraré detenidamente la URL de wp-admin cuando mire la página de taxonomía:
...wp-admin/edit-tags.php?taxonomy=product_tag&post_type=product
Así que el código debería ser así:
$tag = get_term_by('slug', $slug, 'product_tag');
$tag_name = $tag->name;
<h1><?php echo $tag_name; ?></h1>
Resuelto.
¿Qué tal cambiar el “slug” por “name”?
– rheeantz
22 de junio de 2017 a las 20:54
@RyanAW Necesito el slug porque trabajo con el filtro ajax con etiquetas, así que después de elegir algo de la lista desplegable, cambia la URL de la página con el slug en la cadena de consulta… y es por eso que estoy usando slug. de todos modos, también con “nombre” no me funciona. solo con DNI.
– Oshrib
22/06/2017 a las 21:00
Lo siento por eso, ¿es posible usar rest api? me gusta
http://yourwebsite/wp/wp-json/wp/v2/tags?slug=hedoms
– rheeantz
22 de junio de 2017 a las 21:09