📜  wp php 将我的帐户页面 url 重定向到自定义 url - PHP (1)

📅  最后修改于: 2023-12-03 15:21:15.077000             🧑  作者: Mango

WP PHP 将我的帐户页面 URL 重定向到自定义 URL - PHP

有时候我们想要将 WordPress 的默认功能修改为适合我们的特定需求,比如自定义我的帐户页面 URL。

在本文中,我们将介绍如何使用 PHP 代码重定向我的帐户页面 URL 到自定义 URL。

步骤
  1. 首先,你需要创建一个自定义的 WordPress 页面,用于承载你的新的帐户页面。你可以创建一个页面并使用 wp_login_form 函数来添加具有登录表单的页面。
<?php
/*
Template Name: Custom Login Page
*/
?>

<?php get_header(); ?>

<div id="content" class="site-content">
    <?php
    if ( have_posts() ) :
        while ( have_posts() ) : the_post();
            ?>
            <div class="entry-content">
                <?php the_content(); ?>
                <?php wp_login_form(); ?>
            </div>
            <?php
        endwhile;
    endif;
    ?>
</div>

<?php get_footer();
  1. 接下来,为 WordPress 添加一个新的端点 (end point),即 /my-account,并将其指向你的自定义页面。这可以通过添加以下代码到你的 functions.php 文件来实现。
/**
 * Add endpoint to "My Account" page
 */
function custom_add_my_account_endpoint() {
    add_rewrite_endpoint( 'my-account', EP_PAGES );
}
add_action( 'init', 'custom_add_my_account_endpoint' );

/**
 * Redirect "My Account" to custom URL
 */
function custom_redirect_my_account() {
    if ( is_user_logged_in() && is_page( 'my-account' ) ) {
        wp_redirect( home_url( '/custom-page/' ) );
        exit;
    }
}
add_action( 'template_redirect', 'custom_redirect_my_account' );

在这段代码中,我们首先使用 add_rewrite_endpoint 函数将新的 endpoint 添加到 My Account 页面。然后,我们使用 is_user_logged_inis_page 函数来检查用户是否已登录,以及页是否为 my-account 页面。 如果是这样,我们就使用 wp_redirect 函数将用户重定向到自定义页面URL,并使用 exit 终止程序执行。

结论

重定向我的帐户页面 URL 到自定义 URL 可能看起来很棘手,但实际上它只涉及到一些简单的 PHP 代码修改。 如果你遵循了上述步骤,就可以轻松地将 WordPress 的默认功能调整为适合你的特定需求。