我想将URL重定向到上一页

时间:2019-06-18 作者:Flutterer

我已经创建了一个表,在其中我删除了如下链接http://localhost/wptheme/wp-admin/admin.php?page=batch-op-settings&action=batch-delete&post_id=5我添加了一个代码来删除帖子

if ($action == \'batch-delete\') {
    require_once (plugin_dir_path( __FILE__ ).\'views/single_batch_delete.php\');
  }
所需文件中的代码为

if (isset($_GET[\'action\']) == \'batch-delete\') {
    global $wpdb;
    $delete_batch = $wpdb->delete( \'batch_number\', array(
        \'id\'=>$_GET[\'post_id\']
    ) );
    wp_redirect( $_SERVER[\'PHP_SELF\'].\'?page="batch-op-settings"\', 302, \'Deleted\' );
}
数据行已删除,但它没有重定向到所有批次代码所有数据我使用了wp\\u重定向函数我也使用了header()函数,但它显示了此错误

警告:无法修改标题信息-标题已发送

我想知道有没有更好的方法来处理这个问题,或者用当前代码来解决这个问题。

2 个回复
最合适的回答,由SO网友:Chetan Vaghela 整理而成

在函数中添加以下代码。php并检查它是否工作。

add_action(\'admin_init\', \'app_output_buffer\');
function app_output_buffer() {
        ob_start();
}
让我知道它是否有效。

SO网友:Jacob Peattie

问题可能是您的状况:

if (isset($_GET[\'action\']) == \'batch-delete\') {
isset() 退货truefalse, 不是参数的值。如果要同时检查该值,需要按如下方式进行检查:

if ( isset( $_GET[\'action\'] ) && \'batch-delete\' === $_GET[\'action\'] ) {
然后确保使用exit; 运行后wp_redirect(). 从…起the documentation:

注:wp_redirect() 不会自动退出,并且应该始终在调用exit;:

wp_redirect( $url );
exit;
退出也可以通过使用wp_redirect() 作为与\'wp_redirect’ 和\'wp_redirect_location’ 过滤器:

if ( wp_redirect( $url ) ) {
    exit;
}
最后,对于重定向URL,最好使用admin_url() 作用此外page 查询字符串不应包含在引号中。

wp_redirect( admin_url( \'admin.php?page=batch-op-settings\' ), 302, \'Deleted\' );

相关推荐

Redirect From Url To Url

我想重定向相同的目录,但url结构不同。我使用的url结构:http:示例。com/car/cadillac/image/2我想直接使用http:示例。com/car/cadillac/image/url。因为这个url是404。我想重定向到http:example。com/汽车/凯迪拉克/(事实上,问题来自“图像”链接结构:How to change the permalink structure of a master page?) 作为替代方案,我考虑了路由规则。但cpanel 301重定向未成功。