redirect_post_location
Фільтрує кінцеву адресу УРЛ, на яку WP перенаправляє користувача при збереженні, публікації або оновленні запису (поста).
Приклад: під час створення посту УРЛ має вигляд: /wp-admin/post-new.php. Після того, як ми натиснемо кнопку “Зберегти” або “Опублікувати” УРЛ: wp-admin/post.php?post=3061&action=edit&message=10. Саме це новий УРЛ ми можемо змінити, використовуючи фільтр redirect_post_location.
Використання
function filter_function_name_11( $location, $post_id ) {
// Фільтр...
return $location;
}
add_filter( 'redirect_post_location', 'filter_function_name_11', 10, 2);- $location
(рядок) - УРЛ, на який буде перенаправлений користувач.
- $post_id
(число) - ID посту, який обробляється зараз.
Приклади
#1 Перенаправлення на список записів під час створення запису
Припустимо, при створенні або оновленні запису, нам потрібно, щоб користувача перенаправило на сторінку адмін-панелі зі списком усіх записів, а не на ту саму сторінку редагування запису. Для цього скористаємося фільтром redirect_post_locationта функцією admin_url() :
/**
* Перенаправити на edit.php при збереженні чи публікації посту.
*/
function redirect_to_list_after_publish_post( $location ) {
if ( isset( $_POST['save'] ) || isset( $_POST['publish'] ) )
return admin_url("edit.php"); // посилання буде таким: http://example.com/wp-admin/edit.php
return $location;
}
add_filter( 'redirect_post_location', 'redirect_to_list_after_publish_post' );
список змін
| З версії 2.9.0 | Введено. |
Де викликається хук
redirect_post_location
wp-admin/includes/post.php 2077
wp_redirect( apply_filters( 'redirect_post_location', $location, $post_id ) );
Де використовується хук у WordPress
Використання не знайдено.