私は私のメンバーのために退会ページを作成しようとしています、しかし、退会フォームを見るために、彼らはログアウトされなければなりません、それで最初のリンクはそうです:
/wp-login.php?action=logout&_wpnonce=ba51bbcdc3.
一度ログアウトしたら、購読解除フォームにリダイレクトする必要がありますが、これはログインページでもあるため、転送を設定することはできません。
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;
}
メニューマネージャのメニューで使用している場合は、このコードを使用してください。
http://www.example.com/wp-login.php?action=logout&redirect_to=http://www.example.com/
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>