web-dev-qa-db-ja.com

現在のページが登録ページかどうかをチェックするis_registration_pageのような機能

現在のWebページがWordPressの管理者インターフェイスの一部であるかどうかを確認するには、 is_admin を使用します。

処理中のページが登録ページかどうかを確認する方法はありますか?

1
Flimm

あなたはあなた自身の単純な関数を作成することができます。

function is_registration_page() {
    if ( $GLOBALS['pagenow'] == 'wp-login.php' && isset($_REQUEST['action']) && $_REQUEST['action'] == 'register' ) {
        return true;
    }
    return false;
}
2
Sean Michaud

フックを介して登録ページを傍受しようとするのはどうですか。これが登録フォームにフィールドを追加するためのフックの使用例です(下記)...あなたの状況に応じて、あなたが自分の目的を達成するための手段としてこれ(そして送信されたフォームをインターセプトするフック)を使用できます探しています。

一行で追加しました。$ GLOBALS ['is_registration'] = TRUE;

ただし、このグローバル変数は、必要な時点で利用できない場合があります。あなたは見てテストする必要があります。

<?php
add_action( 'register_form', 'myplugin_add_registration_fields' );
function myplugin_add_registration_fields() {

    $GLOBALS['is_registration'] = TRUE;

    //Get and set any values already sent
    $user_extra = ( isset( $_POST['user_extra'] ) ) ? $_POST['user_extra'] : '';
?>
    <label for="user_extra"><?php _e( 'Extra Field', 'myplugin_textdomain' ) ?>
    <input type="text" name="user_extra" id="user_extra" class="input" value="<?php echo esc_attr( stripslashes( $user_extra ) ); ?>" size="25" /></label>
<?php
}
?>

これらのアクション/フィルタフックの詳細については、 https://codex.wordpress.org/Plugin_API/Action_Reference/register_form をご覧ください。

1
signal2013