В WordPress постоянные ссылки — это постоянные URL-адреса, указывающие на отдельные записи, страницы или другой контент на вашем веб-сайте. По умолчанию WordPress генерирует постоянные ссылки на основе структуры, которую вы определяете в настройках постоянных ссылок. Однако могут быть случаи, когда вам потребуется получить короткую постоянную ссылку программным способом. В этой статье мы рассмотрим несколько методов достижения этой цели и предоставим примеры кода для каждого подхода.
Метод 1: использование функции get_permalink()
Функция get_permalink() — это встроенная функция WordPress, которая извлекает постоянную ссылку для указанного сообщения или идентификатора сообщения. Передав идентификатор сообщения в качестве параметра, вы можете получить короткую постоянную ссылку.
$post_id = 123; // Replace with your desired post ID
$permalink = get_permalink($post_id);
echo $permalink;
Метод 2: использование функции get_sample_permalink()
Функция get_sample_permalink()возвращает массив, содержащий образец структуры постоянной ссылки и короткую постоянную ссылку для указанного сообщения или идентификатора сообщения. Вы можете извлечь короткую постоянную ссылку из массива.
$post_id = 123; // Replace with your desired post ID
$permalink_array = get_sample_permalink($post_id);
$short_permalink = $permalink_array[0];
echo $short_permalink;
Метод 3: получение постоянных ссылок с помощью пользовательского WP_Query
Если вы используете собственный WP_Queryдля получения сообщений, вы можете получить доступ к короткой постоянной ссылке непосредственно из объекта запроса.
$args = array(
'post_type' => 'post',
'posts_per_page' => 1,
);
$query = new WP_Query($args);
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
$short_permalink = get_permalink();
echo $short_permalink;
}
wp_reset_postdata();
}
Метод 4: получение постоянных ссылок с помощью REST API
Если вы предпочитаете получать постоянные ссылки с помощью REST API WordPress, вы можете сделать запрос GET к конечной точке /wp/v2/posts/{post_id}и извлечь linkсвойство.
fetch('/wp-json/wp/v2/posts/123')
.then(response => response.json())
.then(data => {
const short_permalink = data.link;
console.log(short_permalink);
});
В этой статье мы рассмотрели несколько методов получения коротких постоянных ссылок в WordPress. Независимо от того, нужно ли вам получить их в коде PHP или через REST API, эти методы обеспечивают гибкость и простоту использования. Включив эти методы в рабочий процесс разработки WordPress, вы сможете легко получать короткие постоянные ссылки для различных целей.