Пример #1
0
/**
 * Redirects a user to defined login page with return redirect.
 *
 * While a specific URL can be passed as an argument, the default will
 * redirect the user back to the original page using wpmem_current_url().
 *
 * @since 3.0.2
 * @since 3.1.1 Moved to API.
 * @since 3.1.3 Added $redirect_to argument.
 *
 * @param string $redirect_to URL to redirect to (default: false).
 */
function wpmem_redirect_to_login($redirect_to = false)
{
    if (!is_user_logged_in()) {
        $redirect_to = $redirect_to ? $redirect_to : wpmem_current_url();
        wp_redirect(wpmem_login_url($redirect_to));
        exit;
    }
    return;
}
Пример #2
0
/**
 * Log in/out shortcode [wpmem_loginout].
 *
 * @since 3.1.1
 *
 * @param  array  $atts
 * @param  string $content
 * @param  string $tag
 * @return string $content
 */
function wpmem_sc_loginout($atts, $content, $tag)
{
    $defaults = array('login_redirect_to' => isset($atts['login_redirect_to']) ? $atts['login_redirect_to'] : wpmem_current_url(), 'logout_redirect_to' => isset($atts['logout_redirect_to']) ? $atts['logout_redirect_to'] : wpmem_current_url(), 'login_text' => isset($atts['login_text']) ? $atts['login_text'] : __('log in', 'wp-members'), 'logout_text' => isset($atts['logout_text']) ? $atts['logout_text'] : __('log out', 'wp-members'));
    $args = wp_parse_args($atts, $defaults);
    $redirect_to = is_user_logged_in() ? $args['logout_redirect_to'] : $args['login_redirect_to'];
    $text = is_user_logged_in() ? $args['logout_text'] : $args['login_text'];
    if (is_user_logged_in()) {
        /** This filter is defined in /inc/dialogs.php */
        $link = apply_filters('wpmem_logout_link', add_query_arg('a', 'logout'));
    } else {
        $link = wpmem_login_url($args['login_redirect_to']);
    }
    $link = sprintf('<a href="%s">%s</a>', $link, $text);
    return do_shortcode($link);
}