Intereting Posts
Как перезаписать встраивание youtube? Доля того же домена для wp-admin, но для разных сайтов Как вывести список должностей в категории, за исключением сообщений в подкатегориях категории Перенаправить пользователей после неудачной попытки входа в систему? Соберите пользовательское поле на странице продукта woocommerce Указание шаблона для пользовательских страниц типа публикации Какое самое раннее действие, которое вы можете назвать? Создание сообщения с API REST, зависанием и возвратом ошибки 401 Почему wp_is_post_revision всегда ложь? Проблема с сопоставлением дат для настраиваемых полей Почему `inclusive` не работает в этом цикле wordpress? Есть ли способ переписать woocommerce-template.php? Как добавить опцию «nofollow» в список опций «Link Relationship (XFN)» в редакторе Link Link? Как просмотреть фид, состоящий из сообщений из нескольких категорий? Включить HTML (Bootstrap Modal Box) с плагином в мой заголовок

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»

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