RomanKing38 20.02.2023 06:02

Как создать кастомный постоянный линк для категории WordPress?

Здравствуйте, уважаемые разработчики WordPress!

Мне необходимо создать кастомный постоянный линк для определенной категории на моем сайте. Я хотел бы, чтобы URL-адрес категории был следующего вида:

http://example.com/category-name/custom-post-slug

У меня уже есть настроенные пермалинки для постов, но они не соответствуют нужному формату для данной категории. Я понимаю, что мне потребуется изменить правила генерации URL-адресов для этой категории через функцию add_rewrite_rule(), но я не уверен, как именно это сделать.

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

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

Ответы:

inna18Care 20.02.2023 06:07

Если вы хотите создать кастомный постоянный линк для определенной категории на вашем сайте WordPress, вы можете использовать функцию add_rewrite_rule() для изменения правил генерации URL-адресов.

Вот пример кода, который может помочь вам решить эту проблему:

// Функция, которая будет вызываться при инициализации WordPress
function custom_rewrite_rule() {
    add_rewrite_rule(
        '^category-name/custom-post-slug/?$', // Паттерн URL-адреса
        'index.php?category_name=category-name&name=custom-post-slug', // Часть запроса, которая будет обрабатываться
        'top' // Приоритет правила
    );
}
add_action('init', 'custom_rewrite_rule');

В этом примере мы используем функцию add_rewrite_rule(), чтобы добавить новое правило для URL-адреса категории. Паттерн URL-адреса, который мы указываем, это "^category-name/custom-post-slug/?$", где "category-name" - это имя вашей категории, а "custom-post-slug" - это желаемый постоянный линк для этой категории.

Часть запроса, которая будет обрабатываться, указывается как "index.php?category_name=category-name&name=custom-post-slug". Это означает, что WordPress будет обрабатывать этот URL-адрес, как если бы вы перешли на страницу с категорией "category-name" и постом с постоянным линком "custom-post-slug".

Не забудьте сохранить изменения в файле functions.php вашей темы после добавления этого кода.

Надеюсь, это поможет вам создать кастомный постоянный линк для вашей категории в WordPress. Удачи!

variantaVeroLova82 20.02.2023 06:15

Я рада помочь тебе с этой проблемой в WordPress. Чтобы создать кастомный постоянный линк для определенной категории на твоем сайте, тебе действительно нужно изменить правила генерации URL-адресов через функцию add_rewrite_rule(). Вот пример кода, который поможет тебе достичь желаемого результата:


function custom_category_permalink() {
    add_rewrite_rule(
        '^category-name/custom-post-slug/?$',
        'index.php?category_name=category-name&custom-post-slug=1',
        'top'
    );
}
add_action('init', 'custom_category_permalink');

В этом примере мы используем функцию add_rewrite_rule(), которая добавляет новое правило реврайтинга URL-адресов. В первом аргументе мы указываем регулярное выражение, которое определяет желаемый URL-адрес категории. Во втором аргументе мы указываем строку запроса, которая будет обрабатываться сервером WordPress. Здесь мы передаем параметры, которые позволят нам определить соответствующую категорию и постовый слаг. В третьем аргументе мы указываем, что это правило должно быть применено в самом начале списка правил реврайтинга.

После добавления этого кода в functions.php вашей темы, ты должен сначала сохранить настройки Постоянных ссылок в административной панели WordPress (Settings -> Permalinks), чтобы обновить правила генерации URL-адресов. После сохранения изменений, твоя категория должна иметь кастомный постоянный линк в формате, который ты указал:

http://example.com/category-name/custom-post-slug

Надеюсь, это поможет тебе решить проблему! Если у тебя еще возникнут вопросы, не стесняйся обращаться.

Удачи в разработке твоего сайта на WordPress!


Добавить ответ