web-dev-qa-db-ja.com

ログアウト後にユーザーをリダクションする

私は私のメンバーのために退会ページを作成しようとしています、しかし、退会フォームを見るために、彼らはログアウトされなければなりません、それで最初のリンクはそうです:

/wp-login.php?action=logout&_wpnonce=ba51bbcdc3. 

一度ログアウトしたら、購読解除フォームにリダイレクトする必要がありますが、これはログインページでもあるため、転送を設定することはできません。

1
Christian Ostmo

wp_logout_url() templateタグを使用してログアウトリンクを生成できます。ユーザーがリダイレクトされるURLを最初の実行者として指定できます。

wp_logout_url( 'http://example.com' );

上記のコードは、/wp-login.php?action=logout&_wpnonce=ba51bbcdc3&redirect_to=http://example.com/unsubscribeのようなURLを生成します。あなたはそのようにリンクにそれを作ることができます:

<a href="<?php echo wp_logout_url( home_url( 'unsubscribe' ) ); ?>" title="Logout">Logout & Unsubscribe</a>

これをページや投稿で使用したい場合は、ショートコードを作成する必要があります。

function wpse_77939_unsubscribe_link() {
    return sprintf(
        '<a href="%s" title="Logout">Logout & Unsubscribe</a>',
        wp_logout_url( home_url( 'unsubscribe' ) )
    );
add_shortcode( 'unsubscribe-link', 'wpse_77939_unsubscribe_link' );

その後、リンクを表示する投稿またはページに[unsubscribe-link]を追加できます。


自分以外のWebサイトにリダイレクトしている場合は、このコードをfunctions.phpファイルに追加する必要があります(example.comをサイトのドメインに置き換えます)。

add_filter( 'allowed_redirect_hosts','wpse_77938_allowed_redirect_hosts' );
function wpse_77938_allowed_redirect_hosts( $allowed ) {
    $allowed[] = 'example.com';
    return $allowed;
}
2
shea

メニューマネージャのメニューで使用している場合は、このコードを使用してください。

http://www.example.com/wp-login.php?action=logout&redirect_to=http://www.example.com/
1
Shiv Singh

WordPressには、使用できるテンプレートタグが含まれています: wp_logout_url() 。サインアウト後にユーザーを別のURLにリダイレクトする場合は、数行の簡単なコードになります。

I このテンプレートタグの使い方のチュートリアルを書いた 昨年末。要約すると、functions.phpにフィルタを作成し、次にsidebar.phpにLogoutリンクを作成する必要があります。

自分以外のWebサイトにリダイレクトしている場合は、このコードをfunctions.phpファイルに追加する必要があります(example.comをサイトのドメインに置き換えます)。

add_filter( 'allowed_redirect_hosts','wpse_77938_allowed_redirect_hosts' );
function wpse_77938_allowed_redirect_hosts($link) {
    $link[] = 'example.com';
    return $link;
}

その後、この行をsidebar.phpファイルまたはPHPを実行できる場所に追加する必要があります。

<a href="<?php echo wp_logout_url( 'http://example.com' ); ?>" title="Logout">Logout</a>
0
Wordpress Kid