get_post_permalink()

Извлекает постоянную ссылку для записи пользовательского типа записей
Функция WordPress
INT 3.0.0
WordPress Icon

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

Функция get_post_permalink() используется для получения постоянной ссылки на запись (permalink) для поста пользовательского типа.

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

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

Функция принимает следующие параметры:

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

Функция возвращает строку с URL постоянной ссылки на запись. Если пост не существует, возвращается false.


/**
 * Получение постоянной ссылки на запись.
 *
 * @param int|WP_Post $post       Идентификатор или объект поста.
 * @param bool        $leavename  Определяет, нужно ли сохранять имя поста.
 * @param bool        $sample     Определяет, является ли ссылка образцовой.
 *
 * @return string|false Постоянная ссылка на запись. False, если пост не существует.
 */
function get_post_permalink( $post = 0, $leavename = false, $sample = false ) {
    // Получение объекта поста.
    $post = get_post( $post );
    // Если пост не существует, возвращаем false.
    if ( ! $post ) {
        return false;
    }
    // Получение базовой ссылки на запись.
    $permalink = get_permalink( $post->ID );
    // Если нужно сохранить имя поста, добавляем его к ссылке.
    if ( $leavename ) {
        $permalink .= $post->post_name;
    }
    // Если ссылка образцовая, добавляем параметр.
    if ( $sample ) {
        $permalink = add_query_arg( 'preview', 'true', $permalink );
    }
    // Возвращаем постоянную ссылку на запись.
    return $permalink;
}

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

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


$post_id = 123;
$permalink = get_post_permalink($post_id);
echo $permalink;

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

Генерация ссылки на пост с сохранением имени


$post_id = 123;
$leavename = true;
$permalink = get_post_permalink($post_id, $leavename);
echo $permalink;

В этом примере мы генерируем ссылку на пост с ID 123 с помощью функции get_post_permalink() и устанавливаем параметр $leavename в значение true. Это означает, что в ссылке будет сохранено имя поста. Результатом выполнения функции будет строка, содержащая URL поста с именем.

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


$post_id = 123;
$sample = true;
$permalink = get_post_permalink($post_id, false, $sample);
echo $permalink;

В данном примере мы получаем образец ссылки на пост с ID 123 с помощью функции get_post_permalink() и устанавливаем параметр $sample в значение true. Это означает, что в ссылке будет использоваться образец. Результатом выполнения функции будет строка, содержащая URL образца поста.

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


$post = get_post(123);
$permalink = get_post_permalink($post);
echo $permalink;

В этом примере мы получаем объект поста с ID 123 с помощью функции get_post() и передаем его в функцию get_post_permalink(). Функция автоматически извлечет ID из объекта поста и вернет постоянную ссылку на него. Результатом выполнения функции будет строка, содержащая URL поста.

Генерация ссылки на несуществующий пост


$post_id = 999;
$permalink = get_post_permalink($post_id);
echo $permalink;

В данном примере мы пытаемся сгенерировать ссылку на пост с ID 999 с помощью функции get_post_permalink(). Пост с таким ID не существует. В этом случае функция вернет значение false. Результатом выполнения функции будет false.

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

Как получить постоянную ссылку для записи?

Для получения постоянной ссылки для записи в WordPress можно использовать функцию get_post_permalink(). Она позволяет получить URL-адрес записи по ее идентификатору или объекту.

Пример использования функции:


$post_id = 123; // идентификатор записи
$permalink = get_post_permalink($post_id);

В данном примере мы передаем идентификатор записи в функцию get_post_permalink() и сохраняем результат в переменную $permalink. Теперь в переменной $permalink содержится постоянная ссылка на запись с идентификатором 123.

Как сохранить имя записи в постоянной ссылке?

Если вам нужно сохранить имя записи в постоянной ссылке, вы можете использовать второй параметр функции get_post_permalink()$leavename. По умолчанию этот параметр равен false, что означает, что имя записи будет включено в постоянную ссылку.

Пример использования функции с параметром $leavename:


$post_id = 123; // идентификатор записи
$permalink = get_post_permalink($post_id, true);

В данном примере мы передаем идентификатор записи и значение true вторым параметром функции get_post_permalink(). Теперь в переменной $permalink содержится постоянная ссылка на запись с идентификатором 123, без имени записи в URL-адресе.

Можно ли получить пример постоянной ссылки для записи?

Да, с помощью третьего параметра функции get_post_permalink()$sample, можно получить пример постоянной ссылки для записи. По умолчанию этот параметр равен false.

Пример использования функции с параметром $sample:


$post_id = 123; // идентификатор записи
$permalink = get_post_permalink($post_id, false, true);

В данном примере мы передаем идентификатор записи, значение false для параметра $leavename и значение true для параметра $sample. Теперь в переменной $permalink содержится пример постоянной ссылки на запись с идентификатором 123.

Как получить URL постоянной ссылки для несуществующей записи?

Если вы пытаетесь получить URL постоянной ссылки для несуществующей записи, функция get_post_permalink() вернет false.

Пример использования функции для несуществующей записи:


$post_id = 999; // несуществующий идентификатор записи
$permalink = get_post_permalink($post_id);
if ($permalink === false) {
    echo 'Запись не существует.';
}

В данном примере мы передаем несуществующий идентификатор записи в функцию get_post_permalink(). Затем проверяем, равен ли результат false. Если да, выводим сообщение «Запись не существует.»

Как получить URL постоянной ссылки для записи с помощью объекта поста?

Функция get_post_permalink() позволяет получить постоянную ссылку для записи на основе объекта поста.

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


$post = get_post(123); // Получаем объект поста с ID 123
$permalink = get_post_permalink($post);

В результате выполнения кода переменная $permalink будет содержать URL постоянной ссылки для указанной записи.

Как получить URL постоянной ссылки для записи с помощью ID?

Если у вас есть только ID записи, вы также можете использовать функцию get_post_permalink() для получения URL постоянной ссылки.

Для этого передайте ID записи в качестве первого аргумента функции. Например:


$permalink = get_post_permalink(123);

В данном примере переменная $permalink будет содержать URL постоянной ссылки для записи с ID 123.

Как получить URL постоянной ссылки для записи, оставив имя записи?

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

Установите значение true для второго аргумента, чтобы сохранить только базовую часть URL. Например:


$permalink = get_post_permalink(123, true);

В этом случае переменная $permalink будет содержать URL постоянной ссылки без имени записи.

Можно ли получить URL постоянной ссылки для записи в виде примера?

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

Установите значение true для третьего аргумента, чтобы получить URL в виде примера. Например:


$permalink = get_post_permalink(123, false, true);

В данном примере переменная $permalink будет содержать URL постоянной ссылки для записи с ID 123 в виде примера.

Функция get_post_permalink() позволяет получить URL постоянной ссылки для записи в WordPress. Она может быть использована как с объектом поста, так и с ID записи. Также, с помощью дополнительных аргументов функции, можно настроить получение URL с учетом имени записи или в виде примера.

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

  • Функция get_permalink(): возвращает постоянную ссылку на запись.
  • Функция get_the_permalink(): возвращает постоянную ссылку на запись.
  • Функция get_sample_permalink(): возвращает образец постоянной ссылки на запись.
  • Функция get_post_status(): возвращает статус записи.
  • Функция get_post_type(): возвращает тип записи.
  • Функция get_post(): возвращает объект записи.
  • Функция get_post_field(): возвращает значение поля записи.
  • Хук post_link: позволяет изменить постоянную ссылку на запись.
  • Класс WP_Post: представляет запись в WordPress.
Обсуждение