WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Хостинг, VPS/VDS и отдельные сервера только на SSD дисках. 7 дней бесплатного тестирования.

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

Фильтрует конечный адрес УРЛ, на который 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' );

Где вызывается хук

redirect_post()
redirect_post_location
wp-admin/includes/post.php 1874
wp_redirect( apply_filters( 'redirect_post_location', $location, $post_id ) );

Где используется хук (в ядре WP)

Не используется.
Комментариев нет
    Здравствуйте, !     Войти . Зарегистрироваться