Добавление префикса ‘blogs’ в структуру URL, но только для блогов.

Вопрос или проблема

На моем сайте блоги имеют адреса вида %category%/%postname%. Однако я хочу, чтобы URL блогов были /blogs/%postname%. Я знаю, что могу перейти в настройки постоянных ссылок и добавить blogs как префикс перед %postname%. Однако у меня также есть пользовательские типы записей. Это приведет к тому, что префикс blogs добавится и к пользовательским типам записей. Например, у меня есть пользовательский тип записи под названием whitepapers, и все эти URL имеют вид whitepapers/%postname%. Если я изменю структуру постоянной ссылки, как описано выше, это станет blogs/whitepapers/%postname%.

Как изменить структуру URL только для blogs, оставив пользовательские типы записей без изменений?

Как упомянула @sally-cj в своем комментарии, что также является решением:

Если вы установили пользовательский префикс постоянной ссылки (например: /blogs/%postname%/) для своих блогов (что будет приводить к: yoursite.com/blogs/lorem-ipsum-dolor), то он также может применяться к вашим пользовательским типам записей (в результате чего получится: yoursite.com/blogs/customposttype/dolor-sit-amet). Самое простое и стандартное решение – установить аргумент with_front в false для пользовательских типов записей.

Если вы используете ACF, вы можете найти это в:
Редактирование типа записи -> Расширенные настройки -> URL -> Префикс URL передней части (установите это на false)

Ответ или решение

Для того чтобы изменить структуру URL только для блога и добавить префикс «blogs» без влияния на пользовательские типы публикаций, необходимо использовать настройки, связанные с параметром with_front, который позволяет управлять тем, применяются ли префиксы к пользовательским типам публикаций.

Вот пошаговая инструкция для решения вашей задачи:

  1. Настройка постоянных ссылок для блога:

    • Перейдите в админ-панель вашего WordPress.
    • Выберите Настройки -> Постоянные ссылки.
    • Установите структуру постоянных ссылок для записей блога как /blogs/%postname%/.
  2. Настройка пользовательских типов публикаций (CPT):

    • Если вы используете плагин для создания пользовательских типов публикаций (например, ACF или соответствующий регистрационный код в functions.php), найдите настройки для вашего пользовательского типа.
    • В разделе настроек для типa публикации, в разделе «Расширенные настройки» (или «Advanced Settings»), вы должны найти опцию Front URL Prefix или что-то аналогичное.
    • Убедитесь, что параметр with_front установлен на значение false. Это позволит предотвратить добавление префикса blogs к URL ваших пользовательских типов публикаций.
  3. Пример кода для регистрации пользовательского типа публикаций:
    Если вы регистрируете пользовательские типы публикаций через код, вы также можете добавить параметр with_front в вызов функции register_post_type. Вот пример:

    function my_custom_post_types() {
       register_post_type('whitepapers', array(
           'labels' => array(
               'name' => __('Whitepapers'),
               'singular_name' => __('Whitepaper'),
           ),
           'public' => true,
           'has_archive' => true,
           'rewrite' => array('with_front' => false), // Устанавливаем false для отсутствия префикса
           'supports' => array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments'),
       ));
    }
    add_action('init', 'my_custom_post_types');
  4. Проверка результата:

    • После внесения изменений, не забудьте перейти в админ-панели в секцию Настройки -> Постоянные ссылки и просто нажать «Сохранить изменения», даже если вы не вносили изменений. Это обновит правила перезаписи.
    • Проверьте URL для блога и пользовательского типа публикаций. Блог должен выглядеть как yoursite.com/blogs/lorem-ipsum-dolor, а пользовательские типы публикаций, такие как «whitepapers», должны оставаться, например, yoursite.com/whitepapers/dolor-sit-amet.

Эти шаги позволят вам адаптировать структуру URL на вашем сайте в соответствии с вашими требованиями, обеспечивая при этом целостность пользовательских типов публикаций.

Оцените материал
Добавить комментарий

Капча загружается...