Skip to content

Function

Register default actions.

tml_register_default_actions( )

Source

function tml_register_default_actions() {

    // phpcs:disable WordPress.WP.I18n.MissingArgDomain -- these action titles/labels intentionally reuse WP core's translated wp-login.php strings verbatim, not TML-specific strings.

    // Dashboard
    tml_register_action(
        'dashboard',
        array(
            'title'              => __( 'Dashboard' ),
            'slug'               => 'dashboard',
            'callback'           => 'tml_dashboard_handler',
            'show_on_forms'      => false,
            'show_nav_menu_item' => is_user_logged_in(),
        )
    );

    // Login
    tml_register_action(
        'login',
        array(
            'title'              => isset( $_GET['checkemail'] ) ? __( 'Check your email' ) : __( 'Log In' ), // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- read-only: just picks a display title, not processed/acted on.
            'slug'               => 'login',
            'callback'           => 'tml_login_handler',
            'ajax_callback'      => 'tml_login_handler',
            'show_on_forms'      => __( 'Log in' ),
            'show_nav_menu_item' => ! is_user_logged_in(),
        )
    );

    // Logout
    tml_register_action(
        'logout',
        array(
            'title'              => __( 'Log Out' ),
            'slug'               => 'logout',
            'callback'           => 'tml_logout_handler',
            'show_on_forms'      => false,
            'show_in_widget'     => false,
            'show_nav_menu_item' => is_user_logged_in(),
        )
    );

    // Register
    tml_register_action(
        'register',
        array(
            'title'              => __( 'Register' ),
            'slug'               => 'register',
            'callback'           => 'tml_registration_handler',
            'ajax_callback'      => 'tml_registration_handler',
            'show_on_forms'      => (bool) get_option( 'users_can_register' ),
            'show_nav_menu_item' => ! is_user_logged_in(),
        )
    );

    // Lost Password
    tml_register_action(
        'lostpassword',
        array(
            'title'             => __( 'Lost Password' ),
            'slug'              => 'lostpassword',
            'callback'          => 'tml_lost_password_handler',
            'ajax_callback'     => 'tml_lost_password_handler',
            'network'           => true,
            'show_on_forms'     => __( 'Lost your password?' ),
            'show_in_nav_menus' => false,
        )
    );

    // Reset Password
    tml_register_action(
        'resetpass',
        array(
            'title'             => __( 'Reset Password' ),
            'slug'              => 'resetpass',
            'callback'          => 'tml_password_reset_handler',
            'network'           => true,
            'show_on_forms'     => false,
            'show_in_widget'    => false,
            'show_in_nav_menus' => false,
        )
    );

    // phpcs:enable WordPress.WP.I18n.MissingArgDomain

    // Confirm Action (Data Requests)
    tml_register_action(
        'confirmaction',
        array(
            'title'                 => __( 'Your Data Request', 'theme-my-login' ),
            'slug'                  => 'confirmaction',
            'callback'              => 'tml_confirmaction_handler',
            'show_on_forms'         => false,
            'show_in_widget'        => false,
            'show_in_nav_menus'     => false,
            'show_in_slug_settings' => false,
        )
    );
}

Uses

Changelog

VersionDescription
7.0 Introduced.