Intereting Posts
Скрыть содержимое окна на определенных страницах (в админке)? wp_get_attachment_metadata возвращает false с add_action () 'add_attachment' hook Есть ли способ получить все имя или пул частей шаблона, используемых на странице? Как сделать сообщение admin_notices, которое исчезает после того, как пользователь покинет эту страницу? ajax response -1 в теме wordpress Как импортировать пользовательские данные через XML, CSV и т. Д. Как стилизовать пункт меню текущей страницы при использовании ходунки У сообщений есть родители? Один домен, две установки WordPress Статистика по электронной почте: Ma.tt Сообщения, показывающие в нем передавать идентификатор пользователя в slug и получать информацию о пользователе Почему javascript разрешен в моем сообщении? Как я могу получить области виджетов, работающих в customizer? Неиспользуемые меню и параметр «Неверный идентификатор виджета: nav_menu_item »

home_url на IIS отсутствует постоянная ссылка index.php

Я использую IIS без какой-либо перезаписи URL-адресов, которые включают index.php в конце. Пользовательская структура постоянной ссылки: /index.php/%year%/%monthnum%/%postname%/

Проблема в том, что функция home_url не включает index.php, поэтому, если я хочу ссылаться на пользовательскую страницу <?php echo home_url() . '/my-page/'; ?> <?php echo home_url() . '/my-page/'; ?> <?php echo home_url() . '/my-page/'; ?> возвращает http://domain.com/my-page/, но мне нужно http://domain.com/index.php/my-page/ .

Есть ли функция WordPress, которая будет включать index.php или мне нужно добавить пользовательский бит кода?

NB Я пробовал Google , но большинство ссылок указывают на повторную запись URL-адреса, который я не хочу.

Solutions Collecting From Web of "home_url на IIS отсутствует постоянная ссылка index.php"

Вы можете фильтровать home_url :

 add_filter( 'home_url', 'wpse102523_home_url' ); function wpse102523_home_url( $url ) { return $url . 'index.php/'; } 

Ссылка: База данных фильтров Адама Брауна

Попытка опции add_filter на самом деле не работала для меня. Код становится довольно уродливым, поскольку функция home_url оказывает влияние на постоянные ссылки, которые имеют index.php, и все мои попытки заставить его работать не удались.

Лучшим решением, которое я придумал, было изменение адреса сайта (aka home_url ) в разделе «Общие настройки» как http://domain.com/index.php . Затем измените константы, чтобы быть нормальными, например /%year%/%monthnum%/%postname%/ . Затем это приводит к тому, что большинство ссылок работают. Единственной проблемой является ссылка http://domain.com/index.php/ (обратите внимание на конец «/»). Для меня это не имеет значения, поскольку это мой сайт localhost, но в противном случае просто исправить этот случай, и сайт должен работать нормально.

Просто запустите любого, кто хочет продолжить движение по маршруту add_filter , здесь для моих грехов – моя попытка:

 <?php if ($is_iis7 && !iis7_supports_permalinks()) { if (!is_admin()) { add_filter( 'home_url', 'icc_iispb_url' ); } } function icc_iispb_url($url) { if (strpos($url, 'index.php') === false) { $url = str_replace(get_option('home'), get_option('home').'/index.php', $url); } return $url; } ?>