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.
Antworte allen(1)Ich werde antworten
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