rokkonet

PC・Androidソフトウェア・アプリの開発・使い方に関するメモ

WordPress + WP-Members + Gianism ログイン後に任意のページにリダイレクト

2020 Feb. 16.

参考 https://usortblog.com/gianism-customize/

WordPress管理画面のGianism設定のカスタマイズタブ画面に書かれている「リダイレクト先を変更する」コードを(子)テーマのfunctions.phpに記述する。
return home_url(); の部分にリダイレクトしたいページ/スラッグを記述する。

/**
 * Customize redirect URL
 * @param string $url     if not specified, null will be passed.
 * @param string $service facebook, twitter, etc.
 * @param string $context login, connect, etc.
 * @return string URL string to redirect to. Null is no-redirect.
 */
function _my_redirect_to($url, $service, $context){
	//
	//
	return home_url() . '/MYPAGE/' ;
}
// Add filter.
add_filter('gianism_redirect_to', '_my_redirect_to', 10, 3);


Gianismでは動かないコード例

function _my_redirect_to($url, $service, $context){
  $location = wp_get_referer() ;
  return $location;
}
add_filter('gianism_redirect_to', '_my_redirect_to', 10, 3);
add_filter( 'wpmem_login_redirect', 'my_login_redirect', 10, 2 );
function my_login_redirect( $redirect_to, $user_id ) {
    return 'get_template_directory_uri();' . '/MYPAGE/';
}
add_filter( 'wpmem_login_redirect', 'my_login_redirect', 10, 2 );
function my_login_redirect( $redirect_to, $user_id ) {
    $redirect = get_permalink();
    wp_redirect( $redirect );
    exit();
}
add_filter( 'wpmem_login_redirect', 'my_login_redirect', 10, 2 );
function my_login_redirect( $redirect_to, $user_id ) {
    wp_redirect( 'https://DOMAIN/PAGE' );
    exit();
}
add_filter( 'wpmem_login_redirect', 'my_login_redirect', 10, 2 );
function my_login_redirect( $redirect_to, $user_id ) {
    $ref = $_SESSION['mypage']; // セッションに保存されたページ
    return home_url(  $ref ); 
add_filter( 'wpmem_login_redirect', 'my_login_redirect', 10, 2 );
function my_login_redirect( $redirect_to, $user_id ) {
    $ref = $_SESSION['mypage']; // セッションに保存されたページ
    if ( preg_match( '/MYPAGE/',  $ref  ))  {
        return $ref;
    }
    return home_url(); 
add_action( 'init', 'my_redirect' );
function my_redirect(){
    if( is_user_logged_in() ) {
        wp_redirect( 'http://DOMAIN/MYPAGE' );
        exit();
    }
}
function login_redirect_page( $redirect_to, $requested_redirect_to, $user ) {
    if ( '' === $requested_redirect_to ) {
        return home_url();
    }
    return $redirect_to;
}
add_filter( 'login_redirect', 'login_redirect_page', 10, 3 );
function redirect_roll($user_login, $user){
    return  '/MYPAGE/' ;
}
add_filter('login_redirect',  'redirect_roll');
function my_login_redirect( $redirect_to, $request ) {
    if ( empty($request)) {
            $redirect_to =  home_url('');
    }
    return $redirect_to;
}
add_filter( 'login_redirect', 'my_login_redirect', 10, 2 );
add_filter( 'wpmem_login_redirect', 'my_login_redirect', 10, 2 );
function my_login_redirect( $redirect_to, $user_id ) {
	return home_url( '/MYPAGE/' );
}