jonathanwold
  • 0
Учитель

Wp_get_object_terms — Как упорядочить результирующий массив по иерархии?

  • 0

Я возвращаю пользовательскую иерархическую таксономию через wp_get_object_terms.

Проблема в том, что результаты упорядочиваются по именам или подсчетам, ни один из которых не является надежным. (Я использую пользовательскую таксономию для «Местоположения» — город, штат, страна — иногда штат появляется перед городом)

Есть ли способ упорядочить полученный массив по пользовательской иерархии таксономии?

Возможно, есть другой способ, которым я должен смотреть на это?

Share
  1. Просто грубый набросок, чтобы понять вашу идею:

    • страны (иерархическая таксономия)
      • Франция (страна — субтаксономия)
        • Шампанское (состояние — субтаксономия)
          • Ле-Ман (город — срок)
          • Анже (город — термин)
          • Нант (город — срок)

    А вы хотите заказать:

    $query_results = query( 'country' => 'france', 'orderby' => 'state city', 'order' => 'ASC' );
    

    Я правильно понял? Если нет, не стесняйтесь редактировать мой ответ или обновлять свой вопрос.

    • 0
  2. Вы можете использовать wp_list_categories, чтобы разобраться в иерархии, она начала поддерживать таксономии с версии 3.0.

    Вы можете увидеть пример использования пользовательской таксономии wp_list_categories на странице кодекса для функции.

    Вам просто нужно передать идентификаторы терминов из вашего wp_get_object_terms вызова в wp_list_categories аргумент включения, например.

    wp_list_categories( array( 'include' => $your_array_of_ids ) );
    

    Затем он должен перечислить термины вашей пользовательской таксономии в иерархическом формате, хотя это может не отображаться, если ваша тема не является элементами списка заполнения (поэтому обязательно примените соответствующий стиль, если результаты не отображаются в иерархической форме). ).

    • 0

Оставить ответ

You must login to add an answer.