WordPress как на ладони
wordpress jino

edit_post_link() WP 1.0.0

Выводит ссылку на редактирование поста, если пользователю разрешено изменять пост.

Использовать внутри Цикла WordPress.

Работает на основе: get_edit_post_link()
✈ 1 раз = 0.00015с = быстро | 50000 раз = 4.22с = быстро PHP 7.0.4, WP 4.4.2
Хуки из функции:
Возвращает

Выводит на экран html код ссылки.

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

edit_post_link( $link, $before, $after, $id, $class );
$link(строка)
Текст ссылки.
По умолчанию: __('Edit This')
$before(строка)
Текст перед ссылкой.
По умолчанию: нет
$after(строка)
Текст после ссылки.
По умолчанию: нет
$id(число)
ID поста, ссылку на который нужно вывести.
По умолчанию: текущий в цикле
$class(строка)
Произвольный css класс для ссылки. C версии 4.4.
По умолчанию: 'post-edit-link'

Примеры

#1. Выведем ссылку на редактирование поста, для авторизованных пользователей, которые имеют право изменять посты:

<?php edit_post_link(); ?>

#2. Изменим текст ссылки и заключим её в html тег <p>

<?php edit_post_link('edit', '<p>', '</p>'); ?>

Заметки

$id параметр добавлен в версии 2.8.

Код edit post link: wp-includes/link-template.php WP 4.9

<?php
function edit_post_link( $text = null, $before = '', $after = '', $id = 0, $class = 'post-edit-link' ) {
	if ( ! $post = get_post( $id ) ) {
		return;
	}

	if ( ! $url = get_edit_post_link( $post->ID ) ) {
		return;
	}

	if ( null === $text ) {
		$text = __( 'Edit This' );
	}

	$link = '<a class="' . esc_attr( $class ) . '" href="' . esc_url( $url ) . '">' . $text . '</a>';

	/**
	 * Filters the post edit link anchor tag.
	 *
	 * @since 2.3.0
	 *
	 * @param string $link    Anchor tag for the edit link.
	 * @param int    $post_id Post ID.
	 * @param string $text    Anchor text.
	 */
	echo $before . apply_filters( 'edit_post_link', $link, $post->ID, $text ) . $after;
}

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

Из метки: edit_ (редактирование изменение)

Еще из раздела: Записи: посты, страницы, ...

edit_post_link 3 комментария
  • Михаил cайт: f-michail.ru

    Спасибо, все статьи очень подробные, и полезные!

    1
    Ответить4.2 года назад #
  • campusboy1948 cайт: www.youtube.com/c/wpplus

    Странно, что эта функция медленно работает. Что там такого, чтобы такую ссылку сделать? К site.ru/wp-admin/post.php?post=**&action=edit вместо звёздочек подставить $post->ID smile Чудеса.

    Ответить1.5 года назад #
    • Kama4639

      Обновил скорость для PHP 7 теперь быстро показывает. Там много операций: получение текущей записи, проверка права редактировать запись пользователем, очистка esc_url(), esc_attr() и в конце фильтр 'edit_post_link'... Сама ссылка тоже проверяется на протокол и т.п.

      Это же WordPress smile Все как бы надо, и кэшируется только самое нужное, мелочи не кэшируются...

      Ответить1.5 года назад #

Здравствуйте, !

Ваш комментарий