Получение примера постоянной ссылки с помощью функции get_sample_permalink()

Получение примера постоянной ссылки (GET_SAMPLE_PERMALINK)

Функция get_sample_permalink() позволяет получить пример постоянной ссылки (перманентной ссылки) на основе имени поста. Это может быть полезно при создании контента в WordPress.

Хуки, используемые в функции

  • editable_slug — используется для редактирования "слага" (читаемого имени) поста.
  • get_sample_permalink — используется для получения примера постоянной ссылки.

Возвращаемое значение

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

Использование функции

Для использования функции нужно вызвать ее с тремя параметрами:

get_sample_permalink( $post, $title, $name );

Параметры

  • $post (int|WP_Post) — обязательный. ID поста или объект поста.
  • $title (string|null) — Заголовок, который будет использоваться вместо текущего заголовка поста при генерации имени поста. По умолчанию — null.
  • $name (string|null) — Имя, используемое вместо имени поста. По умолчанию — null.

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

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

require_once ABSPATH . '/wp-admin/includes/post.php';

$sample_permalink = get_sample_permalink( 10262 );

/*
Array (
    [0] => https://example.com/%postname%.html
    [1] => customize-api
)
*/

В этом п��имере функция вернёт массив, где первый элемент — это пример постоянной ссылки, а второй — читаемое имя поста.

Пример 2: Переопределение заголовка

$sample_permalink = get_sample_permalink( 10262, 'Мой заголовок' );

/*
    [0] => https://example.com/%postname%.html
    [1] => customize-api
*/

Здесь мы указываем новый заголовок для генерации постоянной ссылки.

Пример 3: Переопределение имени поста

$sample_permalink = get_sample_permalink( 10262, 'Мой заголовок', '' );
/*
    [0] => https://example.com/%postname%.html
    [1] => my-title
*/

В этом примере имя поста будет установлено в "my-title".

Пример 4: Указание конкретного имени

$sample_permalink = get_sample_permalink( 10262, 'Мой заголовок', 'Если вы укажете имя' );
/*
    [0] => https://example.com/%postname%.html
    [1] => if-you-specify-a-name
*/

В этом случае имя поста будет "if-you-specify-a-name".

Логика функции

Функция get_sample_permalink работает следующим образом:

  1. Получает пост по ID или объекту.
  2. Проверяет статус поста. Если пост является черновиком или ожидает публикации, статус временно меняется на publish.
  3. Генерирует уникальное имя для поста.
  4. Создает постоянную ссылку на основе типа поста и имени.
  5. Возвращает массив с постоянной ссылкой и именем поста.

Пример кода функции

Вот как выглядит код функции:

function get_sample_permalink( $post, $title = null, $name = null ) {
$post = get_post( $post );

if ( ! $post ) {
    return array( '', '' );
}

// Логика генерации постоянной ссылки...

}

Чangelog

Функция была введена в версии 2.5.0 WordPress.

Связанные функции

Вот некоторые функции, которые могут быть полезны в контексте постоянных ссылок:

  • get_permalink() — для получения постоянной ссылки на пост.
  • get_the_permalink() — получения постоянной ссылки для текущего поста.
  • wp_get_shortlink() — для получения короткой постоянной ссылки.

Эти функции и другие могут помочь вам лучше управлять постоянными ссылками на вашем сайте WordPress.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *