Отношения между различными терминами таксономии в wordpress

У меня есть четыре разных термина таксономии, определенных в моей теме WordPress, которые

  • Континенты
  • Страны
  • состояния
  • Города

Моя проблема в том, что я не могу понять, как сделать так, чтобы пользователь мог указать отношения родитель-потомок с точки зрения другой таксономии. например, если пользователь добавляет «Азия» под континентами, «Индия» под страной, «Дели» под штатом и «Нью-Дели» под городом, как указать Индию как дочерний элемент Азии, Дели как дочерний элемент Индии и Нью-Дели как дочерний элемент Дели Пожалуйста, помогите мне. благодаря.

код для пользовательской таксономии: `

add_action('init', 'register_my_taxes_states');

function register_my_taxes_states() {


 register_taxonomy( 'states',

array (
          0 => 'schools',
          1 => 'universities',
          2 => 'institutes',
          3 => 'colleges',
        ),
    array( 'hierarchical' => true,
        'label' => 'states',
        'show_ui' => true,
        'query_var' => true,
        'show_admin_column' => false,
        'labels' => array (
      'search_items' => 'state',
      'popular_items' => '',
      'all_items' => '',
      'parent_item' => '',
      'parent_item_colon' => '',
      'edit_item' => '',
      'update_item' => '',
      'add_new_item' => '',
      'new_item_name' => '',
      'separate_items_with_commas' => '',
      'add_or_remove_items' => '',
      'choose_from_most_used' => '',
    )
) ); 
}

`


person Aakriti Kashyap    schedule 12.06.2014    source источник


Ответы (1)


Я никогда не создавал подобных отношений, используя отдельные таксономии. Самым простым решением, которое я могу придумать для использования таксономий, было бы создание только одной таксономии, а затем использование встроенной функциональности родительского/дочернего элементов.

Мне лично не нравится использовать таксономии в большинстве случаев. Я обнаружил, что сталкиваюсь с проблемами, с которыми вы сталкиваетесь в отношениях, и мои клиенты, кажется, не находят это очень интуитивным. Я предпочитаю делать это с помощью пользовательских типов записей, а не таксономий. Исходя из того, что вы описали выше, вот что я бы сделал.

  1. Создайте 4 настраиваемых типа сообщений (континент, страна, штат, город) http://codex.wordpress.org/Post_Types
  2. Загрузите/установите плагин «Сообщения к сообщениям», который создаст связь между различными типами сообщений https://wordpress.org/plugins/posts-to-posts/
  3. Зарегистрируйте тип соединения между «Континент и страна», «Страна и штат», «Штат и город». https://github.com/scribu/wp-posts-to-posts/wiki/Basic-usage

Затем вы можете создать связь между «Город и школа» на основе вашего кода выше. Таким образом, вы можете войти и выбрать город, в котором находится школа, и у вас также будут данные для штата, страны и континента.

Надеюсь это поможет.

person MMMTroy    schedule 22.06.2014
comment
Большое спасибо, вы указали мне правильное направление. - person Aakriti Kashyap; 24.06.2014