2014-08-28 27 views
3

我會嘗試下面的代碼在wordpress admin中重定向。wp_redirect()函數在WP中不起作用管理員

if(isset($_POST['submit'])) 
    { 
wp_redirect('admin.php?page=job-creation'); 
} 

我也嘗試的wp_redirect('admin.php?page=job-creation');代替

wp_safe_redirect('admin.php?page=job-creation'); 

header('location: admin.php?page=job-creation'); 

所有代碼在本地主機工作正常。但它不能在線工作(www.example.com)。

幫助我的人。

回答

5

我認爲這是針對你的web服務器配置的,你不能在代碼中的每個地方使用頭函數。 而不是使用的標頭,使用此:

print('<script>window.location.href="admin.php?page=job-creation"</script>'); 

這是重定向到另一個頁面的簡單的JavaScript代碼。

UPDATE

有關使用header訪問this question

+0

謝謝。它的工作 – 2014-08-28 06:24:54

0

首先的更多信息,你應該總是exit您使用wp_redirect後。

其次,你應該指定一個絕對的URI。爲此,請使用admin_url

if(isset($_POST['submit'])){ 
    wp_redirect(admin_url('admin.php?page=job-creation')); 
    exit; 
} 
+0

它不工作 – 2014-08-28 06:24:37

0

如果url正確,請嘗試在重定向之前使用ob_start()函數。

+0

它不工作 – 2014-08-28 06:24:09

1

在必須激活的插件中使用此代碼。

function callback($buffer) { 
    // modify buffer here, and then return the updated code 
    return $buffer; 
} 

function buffer_start() { 
    ob_start("callback"); 
} 

function buffer_end() { 
    ob_end_flush(); 
} 

add_action('init', 'buffer_start'); 
add_action('wp_footer', 'buffer_end'); 
+1

我不知道這是如何回答這個問題... – 2015-04-21 13:26:27

+0

我已經得到了解決方案。那麼爲什麼你在這裏待了很長時間後纔回答。 :) – 2015-04-24 11:57:05

+0

這個答案支持OP作爲一個技巧。 – 2017-04-08 17:42:50