get_delete_post_link() WP 2.9.0

Отримує посилання (URL) для видалення поста.

Може бути використана для переміщення посту в кошик, видалення сторінок, постів, вкладень та ревізій.

Якщо користувач не має прав для видалення посту, поверне порожній рядок.

Хуки з функції
get_delete_post_link($id, $deprecated, $force_delete);
$id
(число) (обов’язковий)
ID запису.
$deprecated
Параметр заборонено з версії 3.0.


За замовчуванням: ”
$force_delete
(логічний)
true — видалятиме запис повз кошик.


Типово: false

Приклади

0

#1 Приклад роботи get_delete_post_link():

echo get_delete_post_link(1); // поверне: http://example.com/wp-admin/post.php?post=1&action=delete&_wpnonce=d21da8cad3
0

#2 Повне посилання на видалення посту:

echo '<a href="'. get_delete_post_link() .'">видалити пост</a>';
0

#3 Виведемо посилання тільки якщо у користувача є достатні для видалення права:

if( current_user_can( 'delete_posts' ) ) { echo '<a href="'. get_delete_post_link( $post->ID) .'">Видалити без можливості відновлення</a>'; }

список змін

З версії 2.9.0Введено.

Код get_delete_post_link() WP 6.0.2

function get_delete_post_link( $id = 0, $deprecated = '', $force_delete = false ) { if ( ! empty( $deprecated ) ) { _deprecated_argument( __FUNCTION__, '3.0.0'); } $post = get_post($id); if (! $post) { return; } $post_type_object = get_post_type_object( $post->post_type ); if (! $post_type_object) { return; } if ( ! current_user_can( 'delete_post', $post->ID ) ) { return; } $action = ($force_delete ||! EMPTY_TRASH_DAYS)? 'delete': 'trash'; $delete_link = add_query_arg( 'action', $action, admin_url( sprintf( $post_type_object->_edit_link, $post->ID ) ) ); /** * Filters the post delete link. * * @ Since 2.9.0 * * @param string $link The delete link. * @param int $post_id Post ID. * @param bool $force_delete Whether to bypass the Trash and force deletion. Default false. */ return apply_filters( 'get_delete_post_link', wp_nonce_url( $delete_link, "$action-post_{$post->ID}" ), $post->ID, $force_delete ); }

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *