Intereting Posts
Как отредактировать e-mail WordPress, который дает пользователю пароль? get_post_type () и проблема WP_QUERY Не удается сохранить php-строку в настраиваемом поле Откройте the_author_link () в новом окне WordPress не подбирает настраиваемые шаблоны в подкаталоге Ограничить категорию / тег Dropdown В blog_id в Multisite Install с глобальными категориями / тегами Добавление редактируемого поля в шаблон? Как я могу перейти на волнение, используя rss Удаленное хранилище файлов WordPress Переписывание короткого кода в WordPress с карусели Bootstrap От многих до многих отношений между двумя настраиваемыми типами сообщений Пользовательские типы сообщений – используйте post_id в структуре постоянной ссылки Получать разбиение на страницы, работающие для пользовательских циклов в шаблонах страниц Пользовательский контент для персонализированной родительской страницы типа ввода? Пользовательский плагин CSS: не может их обновить!

Файлы шаблонов для пользовательских типов сообщений и таксономии

У меня есть пользовательский тип сообщения, называемый «свойствами», и две пользовательские таксономии, называемые «тип» (офисные помещения, торговые площади и т. Д.) И «местоположение» (новый йорк, чикаго и т. Д.).

Я создал «archive-properties.php», который прекрасно работает, когда я перехожу на «mysite.com/properties». И у меня есть «single-properties.php», который отлично работает, когда я перехожу на «mysite.com/properties/my-single-post».

Я создал несколько динамических навигационных меню типа и местоположения, которые заполняют все доступные «типы» и «местоположения» из таксономии. И у меня есть файл шаблона taxonomy-properties.php. К сожалению, оба «mysite.com/office-space» и «mysite.com/properties/office-space» дают 404. То же самое с любым из городов.

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

Какой файл мне нужно создать, чтобы сделать эту работу, и куда она должна идти? Я ожидаю слишком многого? Неужели WordPress действительно не настроен так работать? Если нет, то каков наилучший способ показать страницу «архива» для моих пользовательских таксономий?

Сложность: таксономия «типа» вряд ли изменится, поскольку клиент обрабатывает только офисные помещения и торговые помещения. Но города всегда добавляются к таксономии «местоположения», поэтому я не могу просто создать файл шаблона для каждого города.

UPDATE: добавление кода, который я использовал для создания настраиваемого типа сообщений и таксономии.

function create_post_type_properties() { $labels = array( 'name' => __('Properties', 'properties'), 'singular_name' => __('Property', 'properties'), 'add_new' => __('Add New', 'properties'), 'add_new_item' => __('Add New Property', 'properties'), 'edit' => __('Edit', 'properties'), 'edit_item' => __('Edit Property', 'properties'), 'new_item' => __('New Property', 'properties'), 'view' => __('View Property', 'properties'), 'view_item' => __('View Property', 'properties'), 'search_items' => __('Search Properties', 'properties'), 'not_found' => __('No Properties found', 'properties'), 'not_found_in_trash' => __('No Properties found in Trash', 'properties'), 'parent_item_colon' => '', 'menu_name' => 'Properties' ); $args = array( 'labels' => $labels, 'description' => 'Properties & property specific data', 'public' => true, 'menu_position' => 5, 'supports' => array('title', 'editor', 'thumbnail', 'custom-fields'), 'taxonomies' => array(''), 'has_archive' => true, 'can_export' => true, 'menu_icon' => plugins_url( 'image.png', __FILE__ ), ); register_post_type( 'properties', $args ); } /* Create custom taxonomy (type) for properties */ function property_type_taxonomy() { $labels = array( 'name' => _x( 'Property Types', 'taxonomy general name' ), 'singular_name' => _x( 'Property Type', 'taxonomy singular name' ), 'search_items' => __( 'Search Property Types' ), 'all_items' => __( 'All Property Types' ), 'parent_item' => __( 'Parent Property Type' ), 'parent_item_colon' => __( 'Parent Property Type:' ), 'edit_item' => __( 'Edit Property Type' ), 'update_item' => __( 'Update Property Type' ), 'add_new_item' => __( 'Add New Property Type' ), 'new_item_name' => __( 'New Property Type' ), 'menu_name' => __( 'Property Types' ), ); $args = array( 'labels' => $labels, 'show_ui' => true, 'show_tagcloud' => false, 'hierarchical' => true ); register_taxonomy( 'property_type', 'properties', $args ); } /* Create custom taxonomy (location) for properties */ function property_location_taxonomy() { $labels = array( 'name' => _x( 'Property Locations', 'taxonomy general name' ), 'singular_name' => _x( 'Property Location', 'taxonomy singular name' ), 'search_items' => __( 'Search Property Locations' ), 'all_items' => __( 'All Property Locations' ), 'parent_item' => __( 'Parent Property Location' ), 'parent_item_colon' => __( 'Parent Property Location:' ), 'edit_item' => __( 'Edit Property Location' ), 'update_item' => __( 'Update Property Location' ), 'add_new_item' => __( 'Add New Property Location' ), 'new_item_name' => __( 'New Property Location' ), 'menu_name' => __( 'Property Locations' ), ); $args = array( 'labels' => $labels, 'show_ui' => true, 'show_tagcloud' => false, 'hierarchical' => true ); register_taxonomy( 'property_location', 'properties', $args ); } 

Solutions Collecting From Web of "Файлы шаблонов для пользовательских типов сообщений и таксономии"

То, как таксономии работают с переписыванием, состоит в том, что у них есть «слизняк». Посмотрите на код в разделе register_taxonomy, вы увидите аргумент «переписать». Поставьте его array( 'slug' => 'properties/location' ) и обновите свои постоянные ссылки. В противном случае он ищет следующее:

mysite.com/property_location/office-space

Обратитесь к ответу @vancoders для решения шаблона.

Таксономия-properties.php не имеет смысла, поскольку свойства – это ваш CPT, а не ваша таксономия.

Попробуйте создать таксономию-property_type.php и т. Д.

Консультация иерархии часто бывает полезной: http://codex.wordpress.org/Template_Hierarchy