WP-Membersで覚えておきたいアクションフック

まいど!ドスブイサポート高橋しゃちょーです。

今回はWP-Membersを利用した会員制サイトの構築で
利用する上で覚えておくと便利なアクションフックを一覧化しておこうと思います。誰かのお役に立てばと思います。

Wp-Membersアクションフック一覧

ログイン後任意のページにリダイレクトさせる

wpmem_login_redirect

パラメーター

$ redirect_to
(文字列)(必須)ユーザーをリダイレクトするURL。

$ user_id
(整数)(オプション)ユーザーの主キーID。

使用法

add_filter( 'wpmem_login_redirect', 'my_login_redirect', 10, 2 );
function my_login_redirect( $redirect_to, $user_id ) {
    
    // ここにドメイン以下を記載 https://yourdomain.com/your-page/
    return home_url( '/your-page/' );

}

管理画面でのユーザー検索に追加

※こちらはフロントエンドではありません。
管理画面での検索機能追加になります。

$user_query->query_from .= ” JOIN {$wpdb->usermeta} as UM1 ON UM1.user_id = {$wpdb->users}.ID AND UM1.meta_key = ‘first_name'”;

ここの1の数字を全て変えてmeta_keyをWP-Membersで決めたフィードに書き換える事で追加していけます。

最後にget_search_sql($search, array(’’)にも追加してあげてください。


/* ユーザー管理画面検索 */
function custom_user_search($user_query)
{
    // Make sure this is only applied to user search
    if ($user_query->query_vars['search']) {
        $search = trim($user_query->query_vars['search'], '*');
        if ($_REQUEST['s'] == $search) {
            global $wpdb;

            $user_query->query_from .= " JOIN {$wpdb->usermeta} as UM1 ON UM1.user_id = {$wpdb->users}.ID AND UM1.meta_key = 'first_name'";
            $user_query->query_from .= " JOIN {$wpdb->usermeta} as UM2 ON UM2.user_id = {$wpdb->users}.ID AND UM2.meta_key = 'last_name'";
            $user_query->query_from .= " JOIN {$wpdb->usermeta} as UM3 ON UM3.user_id = {$wpdb->users}.ID AND UM3.meta_key = 'nickname'";
            $user_query->query_from .= " JOIN {$wpdb->usermeta} as UM4 ON UM4.user_id = {$wpdb->users}.ID AND UM4.meta_key = 'company'";

            $user_query->query_where = 'WHERE 1=1' . $user_query->get_search_sql($search, array('user_login', 'user_email', 'user_nicename', 'UM1.meta_value', 'UM2.meta_value', 'UM3.meta_value', 'UM4.meta_value'), 'both');
        }
    }
}
add_action('pre_user_query', 'custom_user_search');