Twig+ WordPress – ¿Cómo pasar argumentos de matriz a la función?

2 minutos de lectura

avatar de usuario
usuario2805223

Estoy usando un tema de WordPress que se desarrolló usando el sistema de plantillas Twig. No sé nada sobre Twig y no tengo tiempo para aprenderlo.

Entonces mi pregunta es, en WordPress podemos usar get_terms() obtener todos los términos de una taxonomía pero podemos filtrar los términos que queremos recibir usando un array de argumentos que es el segundo parámetro de la función.

Dicho esto, tengo una línea en un archivo twig que dice así:

{% for distrito in wp.get_terms('Distritos') %} 

distrito es mi variable y Distritos es mi nombre de taxonomía. Esto funciona, llama a todos los términos, pero quiero usar el array argumentos para que pueda obtener solo los elementos raíz ya que mi taxonomía tiene jerarquía.

Entiendo que debo tener en algún lugar el lugar donde se define wp.get_terms pero no puedo encontrarlo.

  • Creo que tienes que averiguar cómo se implementa… ¿Tal vez usando un complemento? O a mano? ¿Cómo se renderizan las plantillas? Parece que vas a tener que aprender Twig después de todo…

    – elclanrs

    22 de septiembre de 2013 a las 22:17


  • hola, gracias por la sugerencia, pero el problema es que ni siquiera twig tiene tutoriales específicos sobre cómo combinarlo con wordpress. Espero que alguien pueda mostrarme la dirección, solo eso.

    – usuario2805223

    22 de septiembre de 2013 a las 22:22

  • Bueno, Twig es solo un motor de plantillas. Necesita algo de pegamento para que funcione con WordPress sin problemas, pero no tiene dependencias. Así que tendrías que encontrar el pegamento para entender cómo funciona en ese tema en particular… Tal vez esté usando este complemento github.com/jarednova/madera?

    – elclanrs

    22 de septiembre de 2013 a las 22:24


avatar de usuario
Fernando

Twig funciona más o menos como PHP simple. Para una llamada de función, agrega parámetros como lo harías en PHP:

{{ method(parameter1, parameter2) }}

Los arreglos se pueden definir usando [ and ]. También se pueden definir matrices asociativas usando { y } como esto:

{% set array = [1, 2, 3] %}
{% set assoc = {'key': 'value', 'key2': 2} %}

Así que tu llamada a la función debería verse así:

{% for distrito in wp.get_terms('Distritos', ['a', 'b', 'c']) %} 

Echa un vistazo a los documentos de Twig para más información.

  • una cosa más, si quiero tomar cada valor de este get_terms y obtener el siguiente nivel en la misma taxonomía, hago eso, en wordpress pasando la identificación del término padre para obtener el hijo. ¿Cómo puedo lograr eso con twig?

    – usuario2805223

    22/09/2013 a las 22:37

¿Ha sido útil esta solución?