Описание post_type_link
— Filter
Хук post_type_link позволяет изменить URL для пользовательских типов записей в WordPress. Он срабатывает при формировании ссылки на определенный тип записи и позволяет настроить структуру URL в зависимости от ваших потребностей
Примеры использования
Пример изменения формата URL для типа записи ‘product’:
add_filter('post_type_link', function($post_link, $post, $leavename) {
if ($post->post_type == 'product') {
return home_url('/shop/' . $post->post_name);
}
return $post_link;
}, 10, 3);
В этом примере мы изменяем URL для записи типа ‘product’, добавляя ‘/shop/’ перед именем записи
Пример добавления префикса к URL для пользовательского типа записи ‘portfolio’:
add_filter('post_type_link', function($post_link, $post, $leavename) {
if ($post->post_type == 'portfolio') {
return home_url('/portfolio-items/' . $post->post_name);
}
return $post_link;
}, 10, 3);
Здесь мы добавляем префикс ‘/portfolio-items/’ к типу записи ‘portfolio’
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить структуру URL для пользовательских типов записей
– Производительность
Влияние на производительность минимально, но обрабатывайте изменения аккуратно, чтобы не создать дополнительные вызовы
– Предупреждения
Убедитесь, что изменения не конфликтуют с другими элементами сайта, такими как плагинами или настройками постоянных ссылок
Альтернативы
Тип: filter
Этот хук позволяет изменять ссылки на все типы записей, а не только на пользовательские
Используйте его, если нужно изменить ссылки для всех типов записей, включая стандартные