¿Cuándo / no usar wp_get_post_terms vs get_the_terms?

2

Un usuario contribuyó con una nota en el códice diciendo que la única diferencia es que get_the_terms usa datos en caché, y ya sé que wp_get_post_terms te permite recuperar datos por babosa, pero aún me pregunto cuál es la mejor situación para usar una frente a la otra. .

    
pregunta Luis Rivera 02.09.2018 - 00:47

1 respuesta

5
  

Un usuario contribuyó con una nota en el códice diciendo que la única diferencia es que get_the_terms usa datos en caché

Sí, get_the_terms se basa en el caché de objetos. Esto le da un aumento de escala y un aumento de velocidad. Si tiene un caché de objetos habilitado, este aumento aumenta la velocidad dramáticamente.

  

y ya sé que wp_get_post_terms te permite recuperar datos por slug

Creo que te refieres a que te permite devolver una matriz de un campo específico. Un término slug no es un parámetro para ninguna de las funciones

No es nada que no se pueda lograr a través de wp_list_pluck , ya que los objetos de término contienen el slug

  

pero todavía me pregunto cuál es la mejor situación para usar una frente a la otra

Simplemente use get_the_terms y pretenda que las funciones de ayuda de nivel superior no existen, son más problemáticas de lo que valen

Cae en la misma categoría de funciones problemáticas que get_children o wp_get_recent_posts , que envuelven funciones de nivel inferior que hacen cosas similares, pero intentan hacer un poco de trabajo por ti. Útil para principiantes, hasta que te das cuenta de que vienen con cuerdas que no son excelentes o causan problemas. Además, ¿por qué aprender todas esas funciones cuando solo puede bajar un paso y aprender las funciones que están creadas y ahorrar tiempo y problemas?

Lo mismo ocurre con las taxonomías. No es necesario utilizar API de categoría y etiqueta, o API de taxonomía que se refieran a publicaciones. Solo use las versiones genéricas y especifique el nombre de la taxonomía, por ejemplo,

$terms = get_the_terms( $post_id, 'cat' );

Ahora existe la tentación de volver a bajar a wp_get_object_terms pero esto no está en caché, por lo que verás problemas de rendimiento y de escalado.

    
respondido por el Tom J Nowell 02.09.2018 - 01:34

Lea otras preguntas en las etiquetas