Получение примера постоянной ссылки (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 работает следующим образом:
- Получает пост по ID или объекту.
- Проверяет статус поста. Если пост является черновиком или ожидает публикации, статус временно меняется на
publish. - Генерирует уникальное имя для поста.
- Создает постоянную ссылку на основе типа поста и имени.
- Возвращает массив с постоянной ссылкой и именем поста.
Пример кода функции
Вот как выглядит код функции:
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.