Вопрос: ARchive- {custom_post_type} .php не получает распознанный WordPress

Я зарегистрировал пользовательский тип записи city с двумя таксономиями city_categories и city < /код>. Но WordPress берет archive.php вместо archive-city.php, не понимаю, где я ошибаюсь. Это работает, только если я создаю taxonomy-towns.php, а затем беру таксономии-towns.php. Как я могу сделать это взять напрямую archive-city.php

register_post_type( 'city',    array(        'labels' =>             array(            'name' => 'City Guides',            'singular_name' => 'City Guides',            'add_new' => 'Add New',            'add_new_item' => 'Add New retailer',            'edit' => 'Edit',            'edit_item' => 'Edit retailer',            'new_item' => 'New retailer',            'view' => 'View',            'view_item' => 'View retailer',            'search_items' => 'Search retailers',            'not_found' => 'No retailer found',            'not_found_in_trash' => 'No Shop retailer in Trash',            'parent' => 'Parent retailer'        ),        'public' => true,        'menu_position' => 6,        'supports' => array( 'title', 'editor', 'thumbnail' ),        'has_archive' => true,        'taxonomies' => array('city_categories'),        'can_export' => true,        'rewrite' => array('slug'=>'travel')    ));  $args = array(     'labels' => $labels, //defined correctly, shortened the code    'public' => true,    'show_in_nav_menus' => true,    'show_ui' => true,    'show_tagcloud' => true,    'show_admin_column' => true,    'hierarchical' => true,    'rewrite' => true,    'query_var' => true);register_taxonomy( 'city_categories', array('city'), $args );$args = array(    'labels' => $labels, //defined correctly, shortened the code    'public' => true,    'show_in_nav_menus' => true,    'show_ui' => true,    'show_tagcloud' => true,    'show_admin_column' => true,    'hierarchical' => true,    'rewrite' => true,    'query_var' => true,    'sort' => true);register_taxonomy( 'cities', array('city'), $args );

Ответы и комментарии:

Почему вы назвали таксономию в точности как тип поста?
Создан 31-08-2014 01:41 kaiser♦

@kaiser Где это, они разные. Таксономиями являются city_categories и города, а тип сообщения - город.
Создан 31-08-2014 01:56 Adrian

Убедитесь, что шаблон назван именно так, как вы думаете, он назван и находится в каталоге, который, по вашему мнению, находится. :) Любой другой код (плагины / и т. Д.), Который может мешать?
Создан 31-08-2014 01:55 Rarst

Вы пробовали обновить постоянные ссылки?
Создан 31-08-2014 02:38 Tomás Cot

@ TomásCot Как это сделать?
Создан 31-08-2014 03:01 Adrian

Я проверил ваш код, и он отлично работает, если вы зарегистрируете тип записи в хуке действия init. В вашем коде я не вижу ловушки действий, где вы регистрируете тип сообщения. Может ты попробуешь это? (не забудьте сбросить правила переписывания после обновления кода. Обратите внимание, что я удаляю неопределенную переменную $ label в массиве $ args для таксономий):
add_action ('init', 'cyb_register_post_type_and_taxonomies');
function cyb_register_post_type_and_taxonomies () {
    register_post_type ('city',
                        массив (
                            'tags' =>
                                массив (
                                    'name' => 'City Guides',
                                    'singular_name' => 'Путеводители по городам',
                                    'add_new' => 'Добавить новый',
                                    'add_new_item' => 'Добавить нового продавца',
                                    'edit' => 'Edit',
                                    'edit_item' => 'Изменить розничного продавца',
                                    'new_item' => 'Новый продавец',
                                    'view' => 'View',
                                    'view_item' => 'View retailer',
                                    'search_items' => 'Поиск ритейлеров',
                                    'not_found' => 'Магазин не найден',
                                    'not_found_in_trash' => 'Нет магазина в Корзине',
                                    'parent' => 'Parent retailer'
                                ),
                            'public' => true,
                            'menu_position' => 6,
                            'support' => array ('title', 'editor', 'thumbnail'),
                            'has_archive' => true,
                            'taxonomies' => array ('city_categories'),
                            'can_export' => true,
                            'rewrite' => array ('slug' => 'travel')
                         )
    );
    $ args = array (
            'tags' => array (),
            'public' => true,
            'show_in_nav_menus' => true,
            'show_ui' => true,
            'show_tagcloud' => true,
            'show_admin_column' => true,
            'иерархический' => правда,
            'переписать' => правда,
            'query_var' => true
    );

    register_taxonomy ('city_categories', массив ('city'), $ args);

    $ args = array (
            'tags' => array (), // определен правильно, сокращен код
            'public' => true,
            'show_in_nav_menus' => true,
            'show_ui' => true,
            'show_tagcloud' => true,
            'show_admin_column' => true,
            'иерархический' => правда,
            'переписать' => правда,
            'query_var' => true,
            'sort' => true
    );

    register_taxonomy («города», массив («город»), $ args);
}
Создан 01-09-2014 09:43 cybmeta15.9k42641

Все еще звучит что-то не так с вашими правилами перезаписи, попробуйте добавить flush_rewrite_rules () в конце вашей функции, которая содержит регистрационные вызовы, которые вы отправили в своих вопросах. Как это:
flush_rewrite_rules (false);

Если для параметра $ hard установлено значение false, вы не будете обновлять .htaccess, а просто обновите переходный процесс rewrite_rules. Должно быть достаточно, хотя.
Но не забудьте удалить эту строку из своего кода после тестирования, потому что в противном случае она будет выполняться каждый раз, когда ваш сайт вызывается, что плохо, и вы, конечно, этого не хотите.
Создан 01-09-2014 09:07 Nicolai15k73479

Вы уверены, что загрузчик заблокирован? Вы пытались установить TWRP с помощью Flashify, укоренились или просто загрузили TWRP с помощью bootboot boot twrp.img?
Создан 11-10-2016 12:04 acejavelin

По моим сведениям, загрузочный загрузчик заблокирован. Однако, дайте мне знать, как это проверить? Я пытался «fastboot flash recovery twrp.img» несколько раз и для всех TWRP (2.8.6, 2.8.7, 3.0.0, 3.0.1 и 3.0.2), говорит он, не поддерживается. Также я пробовал CWM, он говорит то же самое. Поскольку ни TWRP, ни поддержка CWM не поддерживались, я не пробовал Flashify. В настоящее время мое устройство внедрено, поэтому, пожалуйста, помогите мне использовать Flashify. Если Custom Recovey / TWRP может быть успешно пропущен, как выпустить CyanogenMod 13 (так как я не нашел совместимый CyanogenMod 13 для своего устройства.)?
Создан 11-10-2016 06:46 EinfoMail

Когда вы запускаете загрузчик, он обычно указывает на экран, если загрузчик заблокирован или разблокирован. Что касается проблескового восстановления, убедитесь, что у вас есть правильный образ восстановления, они ОЧЕНЬ специфичны для устройства, вам нужен тот, который предназначен для вашего устройства EXACT. Flashify прост, вы устанавливаете приложение из Play Маркета и запускаете его, скажите ему, чтобы установить локальное изображение TWRP и предоставить ему права root, и это сделано. Что такое марка и модель вашего устройства? Материнская плата соответствует планшету iBall Slide Brace-X1, и для них нет специального восстановления (или ПЗУ), которое я мог бы найти для этого.
Создан 11-10-2016 08:56 acejavelin

Как я уже говорил, не всякая поддержка устройств, использующая все команды fastboot, - просто возможность загрузки в fastboot не означает, что вы можете ее разблокировать. Я не знаю, почему вы продолжаете публиковать об этом, несмотря на очевидную нехватку ресурсов для своего телефона - это не значит, что мы на Android.SE сделаем некоторые из магии.
Создан 12-10-2016 12:30 Andy Yan

Мне действительно жаль, что от моего производителя устройств нет выпуска, связанного с загрузчиком, Custom Recovery, Custom ROM или с чем-либо, связанным с этим. Также я не нашел полезной версии для моего устройства. Поскольку у меня нет полезных инструментов, выпуска, пользовательского восстановления и официального пользовательского ПЗУ для моего устройства, однако я готов попробовать разблокировать загрузчик, мигать пользовательское восстановление и пользовательский ПЗУ несколько раз, но, выполняя все эти процедуры, иногда я испугался любых неисправностей в отношении аппаратного обеспечения.
Создан 11-10-2016 08:51 EinfoMail

Чтобы разблокировать загрузчик, я знаю только один способ: «adb reboot bootloader» и «fastboot oem unlock». И всякий раз, когда я использовал этот способ, я подтверждаю экран устройства, нажимая клавишу увеличения громкости, но на экране устройства и экране компьютера нет никаких изменений даже через 30 мин. Я сменил USB-кабель и USB-порт. Однако изменений нет.
Создан 11-10-2016 08:35 EinfoMail

Прежде всего, ваш телефон не Hard Bricked. Hard Brick - это то, в чем вы не можете войти в ОС или даже в восстановление или fastboot. Thats называется Hard Bricked Phone .. Как с вашего вопроса, это просто проблема с устройством.
Прежде чем идти в ответ, вам нужно знать несколько вещей,
1) Root / Unroot: Rooting and Unrooting являются специфичными для ОС. Это означает, что вы можете запускать или отключать любой телефон с поддерживаемой версией Android.
2) Загрузочный загрузчик: однако, в отличие от root / unroot, Bootloader является специфичным для устройства. Если вы считаете, что ваш загрузчик заблокирован, вам необходимо найти способ разблокировки на основе вашего производителя или модели устройства.
2-1) Проверка Если разблокирован загрузчик:

Открытый терминал АБР
Введите «загрузочный загрузчик adb»
После перезагрузки
Введите «fastboot oem get-bootinfo»
Если он говорит, что ваш загрузчик разблокирован, вы можете продолжить
Для перезагрузки типа «перезагрузка fastboot»

если полученная информация говорит, что ваш загрузчик заблокирован, вам нужно найти инструменты и файлы, чтобы разблокировать ваш загрузчик, специфичный для вашего устройства .. либо ваш производитель выпустил его, либо любой другой разработчик выпустил его .. если вы не можете найти что-нибудь .. тогда мне жаль, вы можете разблокировать ..!
3) Пользовательское восстановление и ПЗУ - как и как загрузчик, пользовательское восстановление и пользовательский ролик зависят от вашего устройства. Вы не можете запускать другие устройства для пользовательского восстановления или rom .. вы можете в конечном итоге сильно портить свое устройство на самом деле, если вы это сделали. так что будьте осторожны ..! может быть восстановление устройства, которое вы хотите, чтобы вспышка могла иметь тот же набор микросхем, но это не значит, что он тоже будет работать на вас! вызывают пользовательское восстановление или пользовательский rom не только на основе набора микросхем, но и на основе конфигурации устройства и системных файлов ..! так что будьте осторожны ..!
Создан 11-10-2016 07:25 Em Ji Madhu11413