WordPress 기능 is_user_logged_in이 siteurl 및 wp_redirect에서 제대로 작동하지 않습니다.
<p>다음 코드를 사용하여 site_URL 및 wp_redirect를 수정해 보았습니다. </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' );
함수 my_prefix_site_url( $url, $scheme ) {
return my_prefix_modify_url( $url, $scheme );
}
함수 my_prefix_wp_redirect( $url ) {
return my_prefix_modify_url( $url, null );
}
함수 my_prefix_modify_url( $url, $scheme = null ) {
$current_url = isset( $_SERVER['PHP_SELF'] ) ? sanitize_text_field( wp_unslush( $_SERVER['PHP_SELF'] ) ) : '';
if ( ! strpos( $current_url, 'wp-admin' ) && ! is_user_logged_in() ) {
반품 '/';
}
$url을 반환합니다.
}
</pre>
<p>그런데 다음과 같은 오류가 발생했습니다. , 파일에는 is_user_logged_in() 함수가 포함되어 있습니다. 그래서 저는 다음과 같이 코드에 이를 포함시켰습니다: </p><p><strong></strong><strong></strong><strong></strong>< ;/p>
<pre class="brush:php;toolbar:false;">if ( ! function_exists( 'is_user_logged_in' ) ) {
require_once ABSPATH .'/pluggable.php';
}
</pre>
<p>이 파일을 포함하면 코드는 제대로 작동하지만 일부 다른 플러그인은 플러그 가능한 기능을 재정의할 수 없기 때문에 충돌합니다. </p><p>짧은 질문: 사용자가 Pluggable.php를 로드하기 전에 로그인했는지 wp_redirect 수준에서 어떻게 확인합니까? </p><p>답변해 주셔서 미리 감사드립니다.