私はWordPress Multisiteを使っています。 wp_logout_url()
を使用すると、ログインページにリダイレクトされますが、どういうわけかスタイルが適用されずに別のログインページで終了します
<a href="<?php echo wp_logout_url(); ?>" title="Logout">Logout</a>
それが私が呼んでいる唯一のログアウト機能です。
そして私のログイン機能はこのようになります:
// 1. Custom login CSS
function my_login_stylesheet() { ?>
<link rel="stylesheet" id="custom_wp_admin_css" href="<?php echo get_bloginfo( 'stylesheet_directory' ) . '/style.css'; ?>" type="text/css" media="all" />
<?php }
add_action( 'login_enqueue_scripts', 'my_login_stylesheet' );
// 2. Change logo URL
add_filter('login_headerurl', 'my_custom_url');
function my_custom_url(){
return "http://mydomain.com/domain";
}
// 3. Add personal message to login
function custom_login_message() {
$message = '<p class="message">KOMM - App</p>';
return $message;
}
add_filter('login_message', 'custom_login_message');
// 4. Change login button text
add_action( 'login_form', 'wpse17709_login_form' );
function wpse17709_login_form()
{
add_filter( 'gettext', 'wpse17709_gettext', 10, 2 );
}
function wpse17709_gettext( $translation, $text )
{
if ( 'Log In' == $text ) {
return 'OK';
}
return $translation;
}
// 5. Redirect user to index-page after login
add_filter('login_redirect', 'plugin_admin_redirect');
function plugin_admin_redirect($redirect_to, $url_redirect_to = '', $user = null) {
return get_option('siteurl');
}
CSSを適用するには、関数1と2をwp_logout_url()
関数に適用する必要があると思います。私は長い間試みてきました。
ログインページ:
そしてログアウトすると次のスクリーンショットに行きます。
リダイレクト先のログアウト/ログインページ:
誰かが説明してくれるか、正しい道をたどることができれば幸いです。
注:
ログインリンク:
/wp-login.php?redirect_to=http%3A%2F%2Fdesignmobile.se%2Fgomobile%2Fkrisdemo%2Fwp-admin%2F&reauth=1
ログアウトリンク:。
/wp-login.php?action=logout&redirect_to=http%3A%2F%2Fdesignmobile.se%2Fgomobile%2Fkrisdemo%2F&_wpnonce=17d70b468f
現在使用しているページにリダイレクトしたい場合は、
wp_logout_url( $_SERVER['REQUEST_URI'] );
または
wp_logout_url( get_permalink() );
あるいは他のサイトにリダイレクトしたい場合は allowed_redirect_hosts 関数を使用してください。