Вопрос или проблема
Необходимо получить URL-адрес страницы программным способом, так как клиент время от времени изменяет слуг и постоянные ссылки.
Я пробовал следующее, используя постоянную ссылку, но это нельзя использовать из-за вышеупомянутой проблемы,
$baseUrl = home_url('/price/');
Ответ или решение
Чтобы получить URL-адрес страницы программно, когда клиент меняет слаг и постоянные ссылки, вы можете использовать WordPress функции, которые позволяют извлекать актуальный URL для заданного поста или страницы. Вот шаги для решения вашей проблемы:
-
Используйте функцию
get_permalink()
: Эта функция возвращает постоянный URL для заданного поста или страницы. Она автоматически учитывает изменения, внесенные в слаг или в структуру постоянных ссылок. -
Получите ID страницы или поста: Вам нужно знать ID поста или страницы, для которой вы хотите получить URL. Это можно сделать с помощью различных методов в WordPress, например, через глобальный объект
$post
, если вы находитесь на странице редактирования.
Вот пример кода, который показывает, как получить URL-адрес страницы при изменении слага:
function get_dynamic_page_url($post_id) {
// Убедитесь, что ID поста действителен
if (get_post_status($post_id)) {
// Получаем актуальный URL страницы
$page_url = get_permalink($post_id);
return $page_url;
} else {
return 'Пост не найден';
}
}
// Пример использования функции
$post_id = 123; // Замените 123 на ID вашей страницы или поста
$url = get_dynamic_page_url($post_id);
echo 'Актуальный URL: ' . $url;
В этом примере:
- Замените
123
на реальный ID вашей страницы или поста, для которого вы хотите получить URL. - Функция
get_dynamic_page_url
проверяет, существует ли пост с данным ID, и если да, возвращает его актуальный URL.
- Обработка изменений слага: Если на вашем сайте имеются элементы управления для изменения слага и постоянных ссылок (например, форма), убедитесь, что после изменения слага вы вызываете данный код или скрипт, чтобы обновить URL на клиентской стороне.
Это решение поможет вам успешно получать актуальные URL-адреса страниц в зависимости от изменений, вносимых клиентом в слаж и структуру постоянных ссылок.