Intereting Posts
Pagination не работает над пользовательским запросом внутри шаблона пользовательской домашней страницы. Имеет ли только пользовательский тип сообщения страницы архива типа публикации? Добавить скрипт async Как проверить, опубликован ли пост / страница или публикация таксономии администратором Как отображать usermeta на переднем конце сайта Ограничить роль одного плагина Что использовать для выполнения кода при сохранении страницы настроек плагина? Использование mysql для замены img src? Создание перекрестного продвижения категорий в WordPress с использованием 'pre_get_posts' Настройки высоты ползунка Не удается получить доступ к моей панели управления WP: фатальная ошибка? Плагин загрузки zip хорошо работает в локальном хосте, но не на живом сайте Нет редактирования / удаления ссылок для пользовательского типа сообщений? Как показать авторов списка, по крайней мере, пять опубликованных сообщений Изображения прикреплены к сообщениям из ссылки библиотеки на страницу ошибок 404

Добавить определенное слово в ссылку по умолчанию по умолчанию

Сейчас я работаю над одним из проектов моего клиента. Все о дисплее продукта amazon. Мой клиент хочет, чтобы я менял постоянные ссылки на все сообщения, страницы, результаты, страницы архива, страницы категорий, все пользовательские страницы типа публикации.

Я очень новичок в Rewrite API. Я прочитал документацию на wordpress codex здесь https://codex.wordpress.org/Function_Reference/WP_Rewrite и здесь https://codex.wordpress.org/Rewrite_API, а также на интерне, но не могу сделать все ясно.

Может ли кто-нибудь помочь мне создавать пользовательские постоянные ссылки для моих страниц?

Прямо сейчас URL страницы выглядит как http://mysite.com/?page_id=2, если его постоянная ссылка по умолчанию и http://mysite.com/sample-page/, если его постоянное имя .

Я хочу, чтобы URL-адрес страницы выглядел как http://mysite.com/info/sample-page .

Здесь информация – это статическое слово, которое я хочу добавить в свой URL-адрес страницы.

Как я могу это достичь? Может ли кто-нибудь помочь мне в этой ситуации? Я уже потратил 2 дня на этот вопрос, и я уверен, что это действительно просто для того, кто уже работал с этим.

Быстрая помощь очень ценится.

Благодарю вас, Aezaz

Могут быть лучшие способы использования фильтров или перезаписей apache / nginx, но вот две идеи, которые следует учитывать с точки зрения пользовательского интерфейса admin (untested):

Идея 1:

Вы всегда можете посетить /wp-admin/options-general.php изменить весь URL сайта:

адрес сайта

но я не думаю, что вы это ищете, так как это также изменит исходный URL.

Идея 2:

Поэтому вы можете посетить /wp-admin/options-permalink.php и попробовать следующее:

перезапись

начать с.

Идея 3:

Что касается страниц, вы можете попытаться создать родительскую страницу с помощью info пула.

Это не будет охватывать все, что вы упомянули, но, надеюсь, это поможет вам на этом пути.

Обновить:

Вот что вы могли бы попытаться изучить дальше (я не уверен, что это даже работает):

 add_filter( 'rewrite_rules_array', 'my_rewrites' ); function my_rewrites( $rules ) { $newrules = array(); foreach ( $rules as $rule => $rewrite ) { if( '(' !== substr( $rule, 0, 1 ) ) $rule = 'info/' . $rule; unset( $rules[$rule] ); $newrules[$rule] = $rules[$rule]; } return $newrules; } 

Вам необходимо очистить правила перезаписи, но вам также необходимо изменить ссылки через фильтры: post_link , term_link , page_link , tag_link , date_link , … и т. Д.

Поэтому вы можете попробовать что-то вроде:

 // expand this to your needs, but there most be a single filter available instead? $items = array( 'post', 'page', 'date', 'tag', 'term', 'year', 'month' ); foreach( $items as $item ) { add_filter( $item . '_link', 'my_link', 99, 2 ); } function my_link( $permalink, $post ) { $permalink = str_replace( get_site_url(), get_site_url() . '/info', $permalink ); return $permalink; } 

Наверное, есть лучшие крючки и просто лучшие способы попробовать?

Это то, что приходит на ум первым, поэтому, пожалуйста, проверьте и измените его 😉