get_permalink()

Извлекает полную постоянную ссылку для текущей записи или ID записи
Функция WordPress
INT 1.0.0
WordPress Icon
Содержание
  1. Описание функции
  2. Примеры использования
  3. Получение полной ссылки на текущий пост или пост по ID
  4. Извлечение ссылки на пост с сохранением имени поста или страницы
  5. Получение ссылки на пост с указанием ID
  6. Получение ссылки на пост с сохранением имени страницы
  7. Вопросы и ответы
  8. Как получить полный постоянный адрес (permalink) для текущего поста или поста с указанным ID?
  9. Как изменить постоянный адрес (permalink) для поста?
  10. Как получить постоянный адрес (permalink) для определенной категории или тега?
  11. Как получить постоянный адрес (permalink) для пользовательского типа записи?
  12. Как получить постоянный адрес (permalink) для поста с определенным шаблоном?
  13. Как получить постоянный адрес (permalink) для поста без указания имени?
  14. Как проверить, существует ли пост с указанным ID перед получением его постоянного адреса (permalink)?
  15. Как получить постоянный адрес (permalink) для поста с указанием имени страницы, а не имени поста?
  16. Как получить постоянный адрес (permalink) для поста с указанием имени страницы и сохранением имени поста?
  17. Связанные элементы

Описание функции

Функция get_permalink() возвращает полный постоянный адрес (permalink) для текущего поста или поста с указанным идентификатором.

Функция принимает идентификатор поста или объект поста в качестве параметра и возвращает строку с URL-адресом поста. Если пост не существует, функция вернет значение false.

Использование

get_permalink( int|WP_Post $post, bool $leavename = false ): string|false

Функция get_permalink() принимает два параметра:

  • $post (int|WP_Post) (необязательный) — Идентификатор поста или объект поста. По умолчанию используется глобальная переменная $post.
  • $leavename (bool) (необязательный) — Определяет, нужно ли сохранить имя поста или страницы в URL-адресе. По умолчанию: false.

Функция get_permalink() возвращает строку с URL-адресом поста. Если пост не существует, функция вернет значение false.

<?php
$post_id = 123; // Идентификатор поста
// Получение URL-адреса поста
$permalink = get_permalink( $post_id );
if ( $permalink ) {
    echo 'URL поста: ' . $permalink;
} else {
    echo 'Пост не существует.';
}
?>

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

Примеры использования

Получение полной ссылки на текущий пост или пост по ID


$post_id = get_the_ID(); // Получаем ID текущего поста
$permalink = get_permalink($post_id); // Получаем полную ссылку на текущий пост
echo $permalink; // Выводим полную ссылку на текущий пост

В данном примере мы используем функцию get_the_ID() для получения ID текущего поста. Затем мы передаем этот ID в функцию get_permalink(), чтобы получить полную ссылку на текущий пост. Наконец, мы выводим эту ссылку с помощью функции echo.

Извлечение ссылки на пост с сохранением имени поста или страницы


$post_id = get_the_ID(); // Получаем ID текущего поста
$permalink = get_permalink($post_id, true); // Получаем ссылку на текущий пост с сохранением имени
echo $permalink; // Выводим ссылку на текущий пост с сохранением имени

В этом примере мы также используем функцию get_the_ID() для получения ID текущего поста. Затем мы передаем этот ID и значение true вторым параметром в функцию get_permalink(), чтобы получить ссылку на текущий пост с сохранением имени. Наконец, мы выводим эту ссылку с помощью функции echo.

Получение ссылки на пост с указанием ID


$post_id = 123; // Указываем ID поста
$permalink = get_permalink($post_id); // Получаем ссылку на пост с указанным ID
echo $permalink; // Выводим ссылку на пост с указанным ID

В этом примере мы указываем ID поста в переменной $post_id. Затем мы передаем этот ID в функцию get_permalink(), чтобы получить ссылку на пост с указанным ID. Наконец, мы выводим эту ссылку с помощью функции echo.

Получение ссылки на пост с сохранением имени страницы


$post_id = 123; // Указываем ID поста
$permalink = get_permalink($post_id, true); // Получаем ссылку на пост с указанным ID с сохранением имени страницы
echo $permalink; // Выводим ссылку на пост с указанным ID с сохранением имени страницы

В этом примере мы также указываем ID поста в переменной $post_id. Затем мы передаем этот ID и значение true вторым параметром в функцию get_permalink(), чтобы получить ссылку на пост с указанным ID с сохранением имени страницы. Наконец, мы выводим эту ссылку с помощью функции echo.

Вопросы и ответы

Функция get_permalink() возвращает полный постоянный адрес (permalink) для текущего поста или поста с указанным ID. Это очень удобно, когда вам нужно получить ссылку на определенный пост или использовать его в шаблоне.

Чтобы получить полный постоянный адрес для текущего поста, достаточно вызвать функцию без аргументов:

echo get_permalink();

Если вам нужно получить ссылку на пост с определенным ID, передайте его в качестве аргумента функции:

$post_id = 123;
echo get_permalink($post_id);

Функция вернет строку с полным постоянным адресом или false, если пост не существует.

Иногда возникает необходимость изменить постоянный адрес (permalink) для определенного поста. В таком случае можно воспользоваться функцией get_permalink() вместе с функцией wp_update_post().

Пример кода, который изменяет постоянный адрес для поста с ID 123:

$post_id = 123;
$new_permalink = 'http://example.com/new-permalink/';
// Получаем текущий пост
$post = get_post($post_id);
// Обновляем постоянный адрес
$post->post_name = sanitize_title($new_permalink);
wp_update_post($post);
// Выводим новый постоянный адрес
echo get_permalink($post_id);

В этом примере мы сначала получаем текущий пост с помощью функции get_post(). Затем мы изменяем значение post_name на новый постоянный адрес с помощью функции sanitize_title(). После этого мы обновляем пост с помощью функции wp_update_post(). Наконец, мы выводим новый постоянный адрес с помощью функции get_permalink().

Если вам нужно получить постоянный адрес (permalink) для определенной категории или тега, вы можете воспользоваться функцией get_term_link().

Пример кода, который получает постоянный адрес для категории с ID 5:

$category_id = 5;
$category_permalink = get_term_link($category_id, 'category');
if (!is_wp_error($category_permalink)) {
    echo $category_permalink;
}

В этом примере мы сначала получаем постоянный адрес для категории с помощью функции get_term_link(). Затем мы проверяем, не возникла ли ошибка при получении постоянного адреса с помощью функции is_wp_error(). Если ошибки нет, мы выводим постоянный адрес.

Аналогичным образом можно получить постоянный адрес для тега, заменив параметр 'category' на 'post_tag' в функции get_term_link().

Функция get_permalink() позволяет получить постоянный адрес (permalink) для текущего поста или поста с указанным ID. Она возвращает строку с URL-адресом permalink или false, если пост не существует.

Для получения permalink для пользовательского типа записи, необходимо передать ID или объект поста в качестве первого параметра функции. Например:


$post_id = 123;
$permalink = get_permalink($post_id);

В данном примере мы получаем permalink для поста с ID 123 и сохраняем его в переменную $permalink.

Если вам нужно получить permalink для поста с определенным шаблоном, вы можете использовать функцию get_page_by_template() для получения объекта поста, а затем передать его в функцию get_permalink(). Например:


$template = 'template-custom.php';
$page = get_page_by_template($template);
if ($page) {
    $permalink = get_permalink($page);
}

В данном примере мы ищем пост с шаблоном ‘template-custom.php’ с помощью функции get_page_by_template(). Если такой пост найден, мы получаем его permalink с помощью функции get_permalink() и сохраняем его в переменную $permalink.

Если вам нужно получить permalink для поста без указания имени, вы можете использовать функцию get_post() для получения объекта поста, а затем передать его в функцию get_permalink(). Например:


$post_slug = 'my-post';
$post = get_post($post_slug);
if ($post) {
    $permalink = get_permalink($post);
}

В данном примере мы ищем пост с slug ‘my-post’ с помощью функции get_post(). Если такой пост найден, мы получаем его permalink с помощью функции get_permalink() и сохраняем его в переменную $permalink.

Как проверить, существует ли пост с указанным ID перед получением его постоянного адреса (permalink)?

Функция get_permalink() позволяет получить постоянный адрес (permalink) для текущего поста или поста с указанным ID. Перед использованием этой функции, необходимо убедиться, что пост с указанным ID существует.

Для проверки существования поста можно использовать функцию get_post(), которая возвращает объект поста по его ID. Если пост с указанным ID существует, то можно использовать функцию get_permalink() для получения его постоянного адреса.


$post_id = 123; // ID поста
$post = get_post( $post_id ); // Получаем объект поста по его ID
if ( $post ) {
    $permalink = get_permalink( $post ); // Получаем постоянный адрес (permalink)
    echo $permalink;
}

По умолчанию, функция get_permalink() возвращает постоянный адрес (permalink) с указанием имени поста. В некоторых случаях может потребоваться получить постоянный адрес с указанием имени страницы, а не имени поста.

Для этого, необходимо передать второй параметр функции get_permalink() со значением true. Это позволит сохранить имя страницы в постоянном адресе.


$post_id = 123; // ID поста
$permalink = get_permalink( $post_id, true ); // Получаем постоянный адрес (permalink) с указанием имени страницы
echo $permalink;

Иногда требуется получить постоянный адрес (permalink), который будет содержать и имя страницы, и имя поста. Для этого, необходимо передать второй параметр функции get_permalink() со значением true, а также третий параметр со значением true.

Таким образом, функция get_permalink() вернет постоянный адрес с указанием и имени страницы, и имени поста.


$post_id = 123; // ID поста
$permalink = get_permalink( $post_id, true, true ); // Получаем постоянный адрес (permalink) с указанием имени страницы и сохранением имени поста
echo $permalink;

Функция get_permalink() является полезным инструментом для получения постоянного адреса (permalink) для постов в WordPress. Она позволяет проверить существование поста перед получением его адреса, а также указать имя страницы в постоянном адресе. Благодаря этой функции разработчики могут легко получить и использовать постоянные адреса для своих целей.

Связанные элементы

  • Функция get_post(): Возвращает объект поста на основе его ID.
  • Функция get_the_title(): Возвращает заголовок текущего поста или поста с указанным ID.
  • Функция get_the_excerpt(): Возвращает отрывок текущего поста или поста с указанным ID.
  • Функция get_the_content(): Возвращает содержимое текущего поста или поста с указанным ID.
  • Хук the_permalink: Вызывается перед выводом ссылки на пост или страницу.
  • Хук post_link: Вызывается перед выводом ссылки на пост.
  • Класс WP_Post: Представляет объект поста в WordPress.
  • Класс WP_Query: Используется для выполнения запросов к базе данных WordPress и получения списка постов.
  • Класс WP_Rewrite: Используется для перезаписи URL-адресов в WordPress.
Обсуждение