suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Die WordPress-Funktion is_user_logged_in funktioniert in siteurl und wp_redirect nicht ordnungsgemäß.

<p>Ich habe versucht, site_URL und wp_redirect mit dem folgenden Code zu ändern: </p> <pre class="brush:php;toolbar:false;"><?php add_filter( 'site_url', 'my_prefix_site_url', 10, 2 ); add_filter( 'wp_redirect', 'my_prefix_wp_redirect' ); Funktion my_prefix_site_url( $url, $scheme ) { return my_prefix_modify_url( $url, $scheme ); } Funktion my_prefix_wp_redirect( $url ) { return my_prefix_modify_url( $url, null ); } Funktion my_prefix_modify_url( $url, $scheme = null ) { $current_url = isset( $_SERVER['PHP_SELF'] ) ? if ( ! strpos( $current_url, 'wp-admin' ) && ! is_user_logged_in() ) { zurückkehren '/'; } return $url; } </pre> <p>Aber ich habe den folgenden Fehler festgestellt.
P粉358281574P粉358281574594 Tage vor331

Antworte allen(1)Ich werde antworten

  • P粉253518620

    P粉2535186202023-07-29 18:11:47

    我真的不太明白这段代码的实际目的是什么,如果我理解正确的话,我认为它会破坏几个东西,但就您字面上的问题来说:只需编写自己的函数即可。

    is_user_logged_in函数在默认版本中并不复杂:

    function is_user_logged_in() {
        $user = wp_get_current_user();
    
        return $user->exists();
    }
    

    And wp_get_current_user is also pluggable but simple:

    function wp_get_current_user() {
        return _wp_get_current_user();
    }
    

    So you'd just write this:

    function custom_is_user_logged_in() {
        return _wp_get_current_user()->exists();
    } 

    Antwort
    0
  • StornierenAntwort