Intereting Posts
Опция плагина для проверки окна ввода Страница пользовательского типа сообщений не отображается Как быть уверенным, что bootstrap включен в тему? Создание мобильного сайта, добавив новый класс в тег body из functions.php Есть ли крючок WordPress для фильтрации редактирования сообщений? Какие вопросы вы задаете, когда его попросят дать оценку развития темы? Я удалил плагин «Скрыть заголовок» и создал код на всех моих страницах. Сиднейская тема. Как исправить Dequeue, Unregister, Remove Action – Не работает с плагином Просмотр категорий категорий без слова «категория» в URL-адресе wp_nav_menu с WP как чистая CMS Есть ли виджет, который может отображать определенные условия типа пользовательских сообщений? Если я переименую плагин (в его основном файле php), все равно получаю уведомления об обновлениях? Изменить ссылку в меню при условии В редакторе style.css, как я могу изменить цвет фона поля заголовка? Используйте действие формы «get» на странице администрирования плагина WordPress.

single-{post_type} .php не загружается, несмотря на правила промывки

У меня есть следующий код для определения моей персонализированной публикации producto :

 add_action('init', 'custom_post_producto'); function custom_post_producto() { $args = array( "label" => 'Productos', "labels" => $labels, "description" => "Artículos a la venta dentro del sitio web.", "public" => true, "publicly_queryable" => false, "show_ui" => true, "show_in_rest" => false, "has_archive" => false, "show_in_menu" => true, "exclude_from_search" => true, "capability_type" => "page", "map_meta_cap" => true, "hierarchical" => false, // "rewrite" => array( "slug" => "producto", "with_front" => true ), "rewrite" => true, "query_var" => true, "menu_icon" => "dashicons-products", "supports" => array( "title", "thumbnail" ) ); register_post_type("producto", $args); // flush_rewrite_rules(); } 

И, поскольку заголовок вопроса ставит, single-{post_type}.php не загружается и перенаправляется на индекс сайта.

Теперь я часами пытаюсь отследить эту проблему. Я попытался flush_rewrite_rules() правила перезаписи с помощью flush_rewrite_rules() сразу после register_post_type() , изменив (и даже удалив) атрибут rewrite в массиве $args , сохраняя параметры Permalink Settings и даже установив плагин Inspector для переопределения правил, чтобы проверить, все ли право и краснуйте правила перезаписи снова и снова, безрезультатно. Я даже переустановил весь сайт и ввел новую информацию, но проблема не устранена.

Для записи я работаю на localhost с помощью XAMPP 5.6.19 в Windows 10 и работаю с WordPress 4.5.2.

Заранее спасибо за вашу помощь.

Solutions Collecting From Web of "single-{post_type} .php не загружается, несмотря на правила промывки"

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

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

Из документов для register_post_type () :

общественности
(boolean) (необязательно) Управляет тем, как тип видимый для авторов ( show_in_nav_menus , show_ui ) и читателей ( exclude_from_search , show_ui ).
По умолчанию: false

publicly_queryable
(boolean) (необязательно). Можно ли выполнять запросы на лицевой стороне как часть parse_request ().
Значение по умолчанию: значение общедоступного аргумента

Как вы можете видеть – и снова, как сказал Мило, просто избегая установки publicly_queryable , в этом случае вам будет намного проще.

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

Что касается вашего второго вопроса в комментариях:

Означает ли public влияние на отображение шаблона? И has_archive или rewrite ?

  • public – это быстрое переопределение, позволяющее в целом контролировать всю видимость бэкэнд и frontend вашего типа сообщения: если вы не переопределите его ни с одним из четырех более явных вариантов, как показано выше. Для frontend они являются publicly_queryable , как мы уже говорили, и exclude_from_search . Вы уже установили exclude_from_search в true, поэтому независимо от того, что вы установили для public , этот тип сообщения не будет найден в результатах поиска (списки терминов таксономии).

  • has_archive не повлияет на просмотр отдельных типов сообщений, но он включит и выключит опцию для просмотра «цикла» архива всех ваших сообщений – по адресу http://example.com/your_rewrite_slug

  • rewrite не влияет на общественную видимость ваших сообщений; просто URL-адрес. URL-адрес должен быть чем-то, хотя, поэтому, если вы не установите значение перезаписи, оно будет просто по умолчанию для вашего имени post_type – в этом случае «producto»

Каждый из них также рассматривается в документах, поэтому я еще раз упомянул – определенно прочитал об этом. Инвестиции будут стоить того! 🙂