<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>답변해 주셔서 미리 감사드립니다.
이 코드의 실제 목적이 무엇인지 잘 모르겠습니다. 올바르게 이해했다면 몇 가지 문제가 발생했다고 생각합니다. 하지만 문자 그대로의 질문에 대해서는 직접 함수를 작성해 보세요.
is_user_logged_in 함수는 기본 버전에서 복잡하지 않습니다:
으아아아그리고
으아아아wp_get_current_user
도 플러그형이지만 간단합니다.그러면 이렇게 쓰면 됩니다:
으아아아