有一种方法是在帖子被丢弃后修改重定向位置:
/**
* Redirect to the home url after trashing a post on the front-end
*
* @link http://wordpress.stackexchange.com/a/212146/26350
*/
add_action( \'trashed_post\', function()
{
add_filter( \'wp_redirect\', function( $location, $status )
{
if ( is_wpse_part_of_admin_url( $location )
&& 1 == get_wpse_query_arg( $location, \'trashed\' )
)
$location = esc_url( home_url() ); // Adjust to your needs!
return $location;
} );
} );
注意:在我们的帮助下,我们确保重定向位置不在后端
is_wpse_part_of_admin_url()
助手函数。
有一些方便的功能,如add_query_arg()
和remove_query_arg()
但不是get_query_arg()
. 下面是我们的助手函数:
/**
* Get query argument from an url
*
* @uses wp_parse_str()
* @param string $url
* @param string $arg
* @return string|false
*/
function get_wpse_query_arg( $url, $arg )
{
wp_parse_str( parse_url( $url, PHP_URL_QUERY ), $args );
if( isset( $args[$arg] ) )
return $args[$arg];
return false;
}
下面是帮助函数,用于确定url是否为后端url:
/**
* Check if the url starts with admin_url()
*
* @uses admin_url()
* @param string $url
* @return boolean
*/
function is_wpse_part_of_admin_url( $url )
{
return 0 === strpos( $url, admin_url() );
}