wp_redirect | wp_safe_redirect 重定用戶到指定頁面

發(fā)布于:
更新時間:2025-04-23

本文詳細介紹了WordPress中的wp_redirect和wp_safe_redirect函數(shù),包括它們的功能描述、使用方法、參數(shù)說明以及返回值。還提供了使用示例和兩者的區(qū)別,幫助開發(fā)者安全有效地實現(xiàn)頁面重定向。

功能描述

跳轉用戶到指定的URL,URL 必須是完整的絕對 URL。

使用說明

wp_redirect() 不會自動退出,使用時需要在后面添加退出函數(shù)。如下:

wp_redirect( $location, $status );
exit;

參數(shù)

參數(shù)數(shù)據(jù)類型是否必需描述默認值
$location字符串用戶將被重定向到的絕對URL
$status整數(shù)重定向 HTTP 狀態(tài)碼302

返回值

如果 $location 沒有設置,返回false,其他情況下不返回任何值

使用示例

wp_redirect( home_url() );
exit;

也可以跳轉到外部鏈接,或使用301永久永久重定向狀態(tài)碼 :

wp_redirect( 'http://www.example.com', 301 );
exit;

注意:

在HTTP1.1中,302是臨時重定向狀態(tài)碼,如果需要永久重定向,請使用HTTP 301狀態(tài)碼。

wp_safe_redirect 與 wp_redirect 的區(qū)別

wp_safe_redirect 的作用和 wp_redirect 類似,不同的是前者在跳轉之前會檢查要跳轉的 URL 是否為被允許的主機,檢查通過后才跳轉,如果檢查未通過,則該函數(shù)會把用戶跳轉到當前站點的 /wp-admin/ 頁面,這樣的處理可以防止程序把用戶重定向到站外的惡意網(wǎng)址。該函數(shù)僅在后臺的少數(shù)地方使用。

如果需要修改允許 wp_safe_redirect 函數(shù)跳轉的網(wǎng)址,我們可以通過 allowed_redirect_hosts Hook 來修改。如下:

add_filter( 'allowed_redirect_hosts', function ( $hosts ) {
    $my_hosts = array(
        'blog.example.com',
        'codex.example.com',
    );

    return array_merge( $hosts, $my_hosts );
}; );

相關函數(shù)

wp_sanitize_redirect:對跳轉 URL 消毒。

wp_validate_redirect: 驗證跳轉 URL 是否為允許的 URL。

我們提供 WordPress主題和插件定制開發(fā)服務

本站長期承接 WordPress主題、插件、基于 WooCommerce 的商店商城開發(fā)業(yè)務。 我們有 10 年WordPress開發(fā)經(jīng)驗,如果你想 用WordPress開發(fā)網(wǎng)站, 請聯(lián)系微信: iwillhappy1314,或郵箱: [email protected] 咨詢。

發(fā)表回復

您的郵箱地址不會被公開。 必填項已用 * 標注

*