Make WordPress Core


Ignore:
Timestamp:
04/14/2009 06:31:49 PM (15 years ago)
Author:
ryan
Message:

Updates to wp_login_url() and wp_logout_url(). Use them in more places. Props wnorris. fixes #9536

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/general-template.php

    r10810 r10931  
    155155 * @uses wp_nonce_url() To protect against CSRF
    156156 * @uses site_url() To generate the log in URL
     157 * @uses apply_filters() calls 'logout_url' hook on final logout url
    157158 *
    158159 * @param string $redirect Path to redirect to on logout.
    159160 */
    160161function wp_logout_url($redirect = '') {
    161     if ( strlen($redirect) )
    162         $redirect = "&redirect_to=$redirect";
    163 
    164     return wp_nonce_url( site_url("wp-login.php?action=logout$redirect", 'login'), 'log-out' );
     162    $args = array( 'action' => 'logout' );
     163    if ( !empty($redirect) ) {
     164        $args['redirect_to'] = $redirect;
     165    }
     166
     167    $logout_url = add_query_arg($args, site_url('wp-login.php', 'login'));
     168    $logout_url = wp_nonce_url( $logout_url, 'log-out' );
     169
     170    return apply_filters('logout_url', $logout_url, $redirect);
    165171}
    166172
     
    172178 * @since 2.7
    173179 * @uses site_url() To generate the log in URL
     180 * @uses apply_filters() calls 'login_url' hook on final login url
    174181 *
    175182 * @param string $redirect Path to redirect to on login.
    176183 */
    177184function wp_login_url($redirect = '') {
    178     if ( strlen($redirect) )
    179         $redirect = "?redirect_to=$redirect";
    180 
    181     return site_url("wp-login.php$redirect", 'login');
     185    $login_url = site_url('wp-login.php', 'login');
     186
     187    if ( !empty($redirect) ) {
     188        $login_url = add_query_arg('redirect_to', $redirect, $login_url);
     189    }
     190
     191    return apply_filters('login_url', $login_url, $redirect);
    182192}
    183193
Note: See TracChangeset for help on using the changeset viewer.