Wordpress - 현재 페이지가 로그인 페이지인지 여부를 감지하는 방법
글로벌 변수를 사용하는 것보다 더 좋은 방법이 있을까요?$pagenow
현재 페이지가 로그인 페이지인 경우(예:is_admin()
기능하고 있습니까?
if ($pagenow != 'wp-login.php' && !is_admin())
{
// Do something
}
전역 변수가 있습니다.$current_screen
겟터로get_current_screen()
(에 선언되어 있습니다./wp-admin/includes/template.php
) 단, 항상 같은 값입니다.null
.
#15686 (현재 페이지 템플릿 태그 검출)– WordPress Trac says 。$pagenow
보통은 사용되지만, 비동적 페이지를 기능(admin 페이지 등)이 아닌 파일 이름과 비교하는 것은 좋은 방법이 아니라고 생각합니다.
함수 is_disc_page() 등의 필요성에 대해서는 다른 사람의 의견에 동의하는 경향이 있지만, https://wordpress.stackexchange.com/questions/12863/check-if-were-on-the-wp-login-page,에서 가장 좋은 답변을 찾을 수 있었습니다.이 답변은 다음과 같습니다.
<?php
function is_login_page() {
return in_array($GLOBALS['pagenow'], array('wp-login.php', 'wp-register.php'));
}
저와 마찬가지로 WordPress가 자동으로 로드하는 jQuery를 실제로 등록 해제하거나 조작하려고 했다면 정답은 다음과 같습니다.
사용하지 않다wp_print_styles
스크립트를 등록하려면 wp_enqueue_module을 사용합니다.
이 후크는 로그인 페이지가 아닌 프런트 엔드에서만 실행되므로 회피책이 필요하지 않습니다.
Nacin은 여기서 설명하고 있습니다.http://make.wordpress.org/core/2011/12/12/use-wp_enqueue_scripts-not-wp_print_styles-to-enqueue-scripts-and-styles-for-the-frontend/
그걸로 뭘 할 건지 설명해 줄 수 없어요?워드프레스 훅을 사용해서 코드를 작성해야 하는지 알 수 있습니다.
또는 absolute uri를 사용할 수 있습니다.wp-display와 대조해 주세요.php
<?php
$uri = $_SERVER['REQUEST_URI'];
echo $uri;
?>
가능한 한 WP에 의존하지 않는 경우(예를 들어 플러그인에서 향후 변경 내용을 범위 밖으로 유지함)다음과 같은 것을 사용할 수 있습니다.
function is_login_page() {
return !strncmp($_SERVER['REQUEST_URI'], '/wp-login.php', strlen('/wp-login.php'));
}
위의 모든 방법은 플러그인을 사용하여 로그인 페이지 URL을 변경하는 경우 작동하지 않습니다. (Lockdown WP Amin)과 같은 보안 플러그인에 의해 로그인 페이지 URL이 변경되면 이 고급 풀 기능을 사용할 수 있습니다.지금은 그게 최선의 방법이야
//---------------------------------------------------------------
//Check if we are inside the login page or not
//---------------------------------------------------------------
function is_inside_login_page()
{
//true if login page URL is still normal
if(in_array($GLOBALS['pagenow'], array('wp-login.php', 'wp-register.php'))) return true;
//true if login page URL is changed by some security plugins
if(has_action('login_init')) return true;
//Else if nothing above happens >> return false
return false;
}
프로그래머 - Mohammed alagha - 이 중요한 대사에 대해 감사합니다.if(has_action('login_init')) return true;
감사해요.
언급URL : https://stackoverflow.com/questions/5266945/wordpress-how-detect-if-current-page-is-the-login-page
'it-source' 카테고리의 다른 글
React.js에서 이미지를 프리로드하는 방법 (0) | 2023.03.07 |
---|---|
Spring Boot application.yml 파일에서 @Scheduled fixedRate 값을 삽입합니다. (0) | 2023.03.07 |
지시문 템플릿 강제 다시 로드 (0) | 2023.03.07 |
수집되지 않은 참조 오류: ReactDOM이 정의되지 않았습니다. (0) | 2023.03.02 |
BindingResult에서 컨트롤러 오류 텍스트를 가져오는 방법 (0) | 2023.03.02 |