【WP-Members】カスタマイズ アクション・フィルターフック一覧

目次

リダイレクト

フィルターフック解説
wpmem_login_redirectログイン後のリダイレクト先を指定する
wpmem_logout_redirectログアウト後のリダイレクト先を指定する

アクションフック解説
wpmem_register_redirect会員登録完了後のリダイレクト先を指定する

ログイン後のリダイレクト先指定 wpmem_login_redirect

add_filter( 'wpmem_login_redirect', 'my_login_redirect', 10, 2 );
function my_login_redirect( $redirect_to, $user_id ) {
    
    // リダイレクト先のURLを指定 下記のようにwordpressのメソッドを利用することも可能
    return home_url( '/your-page/' );

}

ログアウト後のリダイレクト先指定 wpmem_logout_redirect

add_filter( 'wpmem_logout_redirect', 'my_logout_redirect_1' );
function my_logout_redirect_1( $redirect_to ) {
    // URLを直接記述する例 自ドメインであればhome_urlメソッドを使った方がスマートですね
    return 'https://yourdomain.com/your-page';
}

会員登録完了後のリダイレクト先指定 wpmem_register_redirect

会員登録完了後だけアクションフックになっております。

fieldsパラメータも渡されているので、会員登録後の処理を追加することもできます。

add_action( 'wpmem_register_redirect', 'my_reg_redirect' );
 
function my_reg_redirect( $fields ) {
    wp_redirect( 'http://mydomain.com/my-page/' );
    exit();
}

$fieldsパラメータには下記の情報が格納されています。

  • ID
  • ニックネーム
  • 表示名
  • 権限
  • 登録日時
  • 登録時IPアドレス
  • 登録URL

WP-Membersダイアログとメッセージ

フィルターフック解説
wpmem_logout_linkログアウト機能のURLを変更
デフォルト:(ドメイン)/?a=logout
wpmem_login_linksログイン状態で「ログインページ」にアクセスした際のメッセージをカスタマイズ
デフォルト:You are logged in as {nickname}
wpmem_register_linksログイン状態で「会員登録ページ」にアクセスした際のメッセージをカスタマイズ
デフォルト:You are logged in as {nickname}
wpmem_login_links_argsログインページ表示をカスタマイズ
wpmem_register_links_args会員登録ページ表示をカスタマイズ
wpmem_login_failedログインエラーメッセージを変更
wpmem_login_failed_argsログインエラー表示をカスタマイズ
wpmem_product_restricted_msg会員限定ページのメッセージを変更

ログアウトURLを変更 wpmem_logout_link

add_filter( 'wpmem_logout_link', 'my_logout_link' );

function my_logout_link( $string ) {
    $string = home_url('logout');
    return $string;
}

各種ログアウトリンクのURLが変更になりますが、ログアウト機能のURLが変わるわけではありません。

上記のコードを使うだけでは404エラーになります。

ワードプレス自体のログアウト機能を利用する場合などに限定的な用途で利用します。

ログインページのメッセージ変更 wpmem_login_links

add_filter( 'wpmem_login_links', 'my_login_links' );
function my_login_links( $string )
{
    $string = "<p>デフォルトメッセージの上に追加 I put this before the original message</p>" . $string;

    return $string;
}

WP-Members ログイン画面をカスタマイズ

会員登録ページでのメッセージ変更 wpmem_register_links

add_filter( 'wpmem_register_links', 'my_register_links' );
function my_register_links( $string )
{
    $string = "<p>デフォルトメッセージの上に追加 I put this before the original links</p>" . $string;

    return $string;
}
WP-Members 会員登録画面をカスタマイズ

ログインページ表示をカスタマイズ wpmem_login_links_args

add_filter( 'wpmem_login_links_args', 'my_login_links_args' );
function my_login_links_args( $args ) {

    $args['wrapper_before'] = '!!wrapper_before!!'.$args['wrapper_before'];
    $args['user_login'] = '!!user_login!!'.$args['user_login'];
    $args['welcome'] = '!!welcome!!'.$args['welcome'];
    $args['logout_text'] = '!!logout_text!!'.$args['logout_text'];
    $args['logout_link'] = '!!logout_link!!'.$args['logout_link'];
    $args['wrapper_after'] = $args['wrapper_after'].'!!wrapper_after!!';
    
    return $args;
}

WP-Members ログイン画面をカスタマイズ

会員登録ページ表示をカスタマイズ wpmem_register_links_args

add_filter( 'wpmem_register_links_args', 'my_register_links_args' );
function my_register_links_args( $args ) {

    $args['before_wrapper'] = '!!before_wrapper!!'.$args['before_wrapper'];
    $args['wrapper_before'] = '!!wrapper_before!!'.$args['wrapper_before'];
    $args['wrapper_after'] = $args['wrapper_after'].'!!wrapper_after!!';
    $args['after_wrapper'] = $args['after_wrapper'].'!!after_wrapper!!';

    //Change link #2 2行目のリンク先を変更
    $args['rows'][1] = '<li><a href=' . home_url( 'my-page' ) . '>Enter the members area</a>';
    // Add another link. リンク先を追加
    $args['rows'][] = '<li><a href=' . home_url( 'some-page' ) . '>My Extra Link</a>';
    return $args;
}
WP-Members ログイン済み画面をカスタマイズ

ログインエラーメッセージをカスタマイズ wpmem_login_failed

add_filter( 'wpmem_login_failed', 'my_login_failed_msg' );

function my_login_failed_msg( $str )
{
    $str = 'user not find.ユーザが見つかりません';
    return $str;
}
WP-Members 会員登録エラーのカスタマイズ

ログインエラー表示をカスタマイズ wpmem_login_failed_args

add_filter( 'wpmem_login_failed_args', 'my_login_failed_args' );
 
function my_login_failed_args() {

    $args = array( 
        'heading_before' => '',
        'heading'        => '',
        'heading_after'  => '',
        'message'        => 'You did something wrong.',
    );
 
    return $args;
}
WP-Members ログインエラー時のカスタマイズ

会員限定ページのメッセージを変更 wpmem_product_restricted_msg

add_filter( 'wpmem_product_restricted_msg', 'my_product_restricted_msg', 10, 2 );
function my_product_restricted_msg( $msg, $post_products ) {
    global $wpmem;
    
    if ( count( $post_products ) > 1 ) {
        // Start with an empty container:
        $products = '';

        // Loop through the products to get their titles:
        foreach ( $post_products as $key => $post_product ) {

            // If this is the end of the product array, add ", or".
            // Note .= adds to the whatever is in the existing string $products
            end( $post_products );
            if ( $key === key( $post_products ) ) {
                $products .= "or " . $wpmem->membership->products[ $post_product ]['title'];
            } else {
                // Otherwise, if this is not the end, add a comma/space:
                $products .= $wpmem->membership->products[ $post_product ]['title'] . ", ";
            }
        }

    } else {
        // OR... if $post_products array is just one product:
        $products = $wpmem->membership->products[ $post_products[0] ]['title'];
    }

    $msg = "This is post is restricted.only for : ".$products;
    $msg .= "<br>";
    $msg .= $products."会員限定のページです。会員登録は<a href=\"#\">こちら</a>";

            return $msg;
}


WP-Members 会員限定ページをカスタマイズ

WP-Membersログインフォーム

フィルターフック解説
wpmem_inc_login_inputsログインフォームのメッセージを変更
wpmem_login_form_argsログインフォームをカスタマイズ

ログインフォームのメッセージを変更 wpmem_login_form_args

add_filter( 'wpmem_inc_login_inputs', 'my_login_inputs' );
function my_login_inputs( $default_inputs ) {

    $default_inputs[0]['name'] = 'Email メールアドレス';
    $default_inputs[1]['name'] = 'Password パスワード';

    return $default_inputs;
}

$default_inputs = array(
    array(
        'name'   => "Username or Email", // From $wpmem->get_text( 'login_username' ) 
        'type'   => 'text', 
        'tag'    => 'log',
        'class'  => 'username',
        'div'    => 'div_text',
    ),
    array( 
        'name'   => "Password",         // From $wpmem->get_text( 'login_password' ) 
        'type'   => 'password', 
        'tag'    => 'pwd', 
        'class'  => 'password',
        'div'    => 'div_text',
    ),
);
WP-Members ログインフォームカスタマイズ

ログインフォームをカスタマイズ wpmem_inc_login_args

add_filter( 'wpmem_login_form_args', function ( $args, $action ) {

    $args['row_before'] = '<div class="my-row-wrapper">';
    $args['row_after']  = '</div>';
    
    return $args;
    
}, 10, 2 );

利用イメージ

WP-Members ログインフォームをカスタマイズ

パラメータ

    $defaults = array(

        // wrappers
        'heading_before'  => ' !!heading_before!!<legend>',
        'heading_after'   => '</legend>!!heading_after!! ',
        'fieldset_before' => ' !!fieldset_before<fieldset>',
        'fieldset_after'  => '</fieldset>fieldset_after!! ',
        'main_div_before' => ' !!main_div_before<div id="wpmem_login">',
        'main_div_after'  => '</div>!!main_div_after!! ',
        'txt_before'      => '!!txt_before!!',
        'txt_after'       => '!!txt_after!!',
        'row_before'      => '!!row_before!!',
        'row_after'       => '!!row_after!!',
        'buttons_before'  => ' !!buttons_before!!<div class="button_div">',
        'buttons_after'   => '</div>!!buttons_after!! ',
        'link_before'     => ' !!link_before!!<div class="link-text">',
        'link_after'      => '</div>!!link_after!! ',
        'link_span_before' => ' !!link_span_before!!<span class="link-text-%s">',
        'link_span_after'  => '</span>!!link_span_after!! ',

        // classes  ids
        'form_id'         => 'wpmem_action_form',
        'form_class'      => 'form',
        'button_id'       => '',
        'button_class'    => 'buttons',

        // other
        'strip_breaks'    => true,
        'wrap_inputs'     => true,
        'remember_check'  => true,
        'n'               => "\n",
        't'               => "\t",
        'redirect_to'     => '/test',
        'login_form_action' => true,

    );


WP-Membersパスワード変更・リセットフォーム

フィルターフック解説
wpmem_inc_changepassword_argsパスワード変更画面をカスタマイズ
wpmem_inc_resetpassword_argsパスワードリセット画面をカスタマイズ
wpmem_forgot_linkパスワード忘れのリンク先を変更

パスワード変更画面のカスタマイズ

add_filter( 'wpmem_inc_changepassword_args', 'my_changepassword_args' );
function my_changepassword_args( $args )
{
    $args = array( 'heading' => "Change Your Password パスワード変更はこちら" );

    return $args;
}
WP-Members パスワード変更カスタマイズ

パスワードリセット画面のカスタマイズ wpmem_inc_resetpassword_args

add_filter( 'wpmem_inc_resetpassword_args', 'my_resetpassword_args' );
function my_resetpassword_args( $args )
{
    $args = array(
        'heading'      => "Request New Password 新パスワード",
        'button_text'  => "Reset My Password"
    );

    return $args;
}
WP-Members パスワードリセット画面カスタマイズ

パスワード忘れのリンク先を変更 wpmem_forgot_link

add_filter( 'wpmem_forgot_link', 'my_forgot_link', 10, 2 );
function my_forgot_link( $link, $tag ) {

    // Using home_url() instead makes your filter portable.
    
    return 'https://yoursite.com/your-page/';
}

WP-Members会員登録フォーム

フィルターフック解説
wpmem_fields会員登録フォームの項目をカスタマイズ
wpmem_register_form_args会員登録ページをカスタマイズ
wpmem_tos_link_txtTerms of Service (TOS)の変更
wpmem_recaptchareCAPTCHAをカスタマイズ

会員登録フォームの項目をカスタマイズ wpmem_fields

add_filter( 'wpmem_fields', 'my_wpmem_fields_filter', 10, 2 );
function my_wpmem_fields_filter( $fields, $tag ) {


    if ( 'register' == $tag ) {
        unset( $fields['first_name'] );
        unset( $fields['last_name'] );

    }

    return $fields;
}

before

WP-Members 会員登録フォームカスタマイズbefore

after

WP-Members 会員登録フォームカスタマイズafter

会員登録ページをカスタマイズ wpmem_register_form_args

add_filter( 'wpmem_register_form_args', 'my_register_form_row_wrapper', 10, 2 );
function my_register_form_row_wrapper( $args, $tag ) {
    $args = array(
        'row_before' => '<div class="my-row-wrapper">',
        'row_after'  => '</div>',
    );
 
    return $args;
}

利用イメージ

WP-Members 会員登録フォームカスタマイズ

パラメータ

    $defaults = array(

        // Wrappers.
        'heading_before'   => '!!heading_before!!<legend>',
        'heading_after'    => '</legend>!!heading_after!!',
        'fieldset_before'  => '!!fieldset_before!!<fieldset>',
        'fieldset_after'   => '</fieldset>!!fieldset_after!!',
        'main_div_before'  => '!!main_div_before!!<div id="wpmem_reg">',
        'main_div_after'   => '</div>!!main_div_after!!',
        'txt_before'       => '!!txt_before!!',
        'txt_after'        => '!!txt_after!!',
        'row_before'       => '!!row_before!!',
        'row_after'        => '!!row_after!!',
        'buttons_before'   => '!!buttons_before!!<div class="button_div">',
        'buttons_after'    => '</div>!!buttons_after!!',

        // Classes  ids.
        'form_id'          => ( 'new' == $tag ) ? 'wpmem_register_form' : 'wpmem_profile_form',
        'form_class'       => 'form',
        'button_id'        => '',
        'button_class'     => 'buttons',

        // Required field tags and text.
        'req_mark'         => $wpmem->get_text( 'register_req_mark' ),
        'req_label'        => $wpmem->get_text( 'register_required' ),
        'req_label_before' => '<div class="req-text">',
        'req_label_after'  => '</div>',

        // Buttons.
        'show_clear_form'  => false,
        'clear_form'       => $wpmem->get_text( 'register_clear' ),
        'submit_register'  => $wpmem->get_text( 'register_submit' ),
        'submit_update'    => $wpmem->get_text( 'profile_submit' ),

        // Other.
        'post_to'          => get_permalink(),
        'strip_breaks'     => true,
        'use_nonce'        => false,
        'wrap_inputs'      => true,
        'n'                => "\n",
        't'                => "\t",
        'register_form_action' => true,
    );

メール

フィルターフック解説
wpmem_email_filter送信メールをカスタマイズ
wpmem_email_newreg会員登録メールをカスタマイズ
wpmem_email_newmod(仮登録設定を利用時)仮登録メールをカスタマイズ
wpmem_email_appmod(仮登録設定を利用時)仮登録承認時のメールをカスタマイズ
wpmem_email_notify会員登録があった際の管理者向け通知メールをカスタマイズ
wpmem_email_repassパスワードリセットメールをカスタマイズ
wpmem_notify_filter通知メールをカスタマイズ
wpmem_notify_addr通知メールの送信先メールアドレスをカスタマイズ
wpmem_email_shortcodesメール用ショートコードの設定
wpmem_email_headersメールヘッダのカスタマイズ

メールヘッダのカスタマイズ wpmem_email_headers

add_filter( 'wpmem_email_headers', 'my_wpmem_html_email' );
function my_wpmem_html_email() {
    return "Content-Type: text/html" . "\r\n";
}

WP-Membersアクションフック

アクションフック解説
wpmem_register_redirect会員登録後のリダイレクト先を指定
wpmem_pre_register_data会員登録時の登録データをフック
wpmem_post_register_data会員登録時の登録処理をフック
wpmem_pre_update_data会員情報更新時の登録データをフック
wpmem_post_update_data会員情報更新時の更新処理をフック
wpmem_user_activated会員有効化時のフック

コメントを残す