redirect_post_locationхук-фильтрWP 2.9.0

Фильтрует конечный адрес УРЛ, на который 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 поста, который обрабатывается в текущий момент.

Примеры

0

#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()
redirect_post_location
wp-admin/includes/post.php 2218
wp_redirect( apply_filters( 'redirect_post_location', $location, $post_id ) );

Где используется хук в WordPress

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