워드프레스:로그인 페이지에서 "비밀번호 분실" 텍스트를 사용자 정의하려면 어떻게 해야 합니까?
이것이 간단하다는 것은 알지만, WordPress 로그인 페이지에서 "비밀번호 분실" 텍스트를 변경하는 방법을 알 수 없습니다.
로그인 페이지에 "비밀번호를 분실했습니다"라는 링크가 있는데, 이 텍스트를 "새 비밀번호를 받으십시오"와 같은 내용으로 변경하고 싶습니다.하위 테마의 텍스트를 덮어쓰는 데 어떤 기능을 사용해야 할지 잘 모르겠습니다.
워드프레스 텍스트 "비밀번호 분실?"을 누릅니다.
function change_lost_your_password ($text) {
if ($text == 'Lost your password?'){
$text = 'Forgot Password?';
}
return $text;
}
add_filter( 'gettext', 'change_lost_your_password' );
이 텍스트 또는 해당 텍스트를 변경하려면 다음 기능을 사용할 수 있습니다. 슈퍼모델의 답변과 거의 동일하지만 문서화되고 코드 표준이 검증되었습니다.
/**
* Change some text.
*
* @param String $text WordPress Text Stream.
* @return String
*/
function acme_change_some_text( $text ) {
if ( 'Lost your password?' === $text ) {
$text = 'Forgot Your Password?';
}
// Important to return the text stream.
return $text;
}
// Hook this function up.
add_action( 'gettext','acme_change_some_text' );
여기 무슨 일이 일어나고 있는지 설명할 수 있는 편리한 선물이 있습니다.
함수에는 기본 설정을 변경할 수 있는 몇 가지 파라미터가 있습니다.예를 들어 양식의 ID 이름과 요소(CSS 스타일링의 경우), "Remember Me" 확인란 인쇄 여부, 로그인이 성공한 후 사용자가 리디렉션되는 URL을 지정할 수 있습니다(기본값은 동일한 페이지에 유지됨).
<?php
if ( ! is_user_logged_in() ) { // Display WordPress login form:
$args = array(
'redirect' => admin_url(),
'form_id' => 'loginform-custom',
'label_username' => __( 'Username custom text' ),
'label_password' => __( 'Password custom text' ),
'label_remember' => __( 'Remember Me custom text' ),
'label_log_in' => __( 'Log In custom text' ), //you can change here
'remember' => true
);
wp_login_form( $args );
} else { // If logged in:
wp_loginout( home_url() ); // Display "Log Out" link.
echo " | ";
wp_register('', ''); // Display "Site Admin" link.
}
?>
양식 자체는 WordPress에서 코드에 의해 생성됩니다.wp-includes/general-template.php
file. 사용자 지정 로그인 페이지가 내장된 WordPress 로그인 페이지(wp-login.php)와 다르기 때문입니다.
WordPress 6.1.0은 lost_password_html_link 필터 후크를 추가하여 이 전면에 새로운 옵션을 제공합니다.
/**
* Replace password reset link text
*
* @param String $html_link HTML link to the lost password form.
*/
function _acme_better_pw_reset_text( $html_link ) {
$link_text_default = 'Lost your password?';
// (More intuitive for users who haven't yet set a password yet.)
$link_text_new = 'Get a new password';
$html_link = str_replace($link_text_default, $link_text_new, $html_link);
return $html_link;
}
add_filter( 'lost_password_html_link', '_acme_better_pw_reset_text' );
잠재적으로 얻을 수 있는 주요 이점과gettext
는 wp-admin 또는 공용 URL이 아닌 로그인 페이지에서만 실행되므로 성능에 영향을 미칠 위험이 적습니다.일반적인 WordPress 플러그인 제품군은 페이지당 수천 번 실행될 수 있습니다.(그렇기는 하지만,gettext
여기에 제안된 다른 사용자와 정확히 일치하는 문자열이라면 여전히 문제가 없을 수 있습니다.)
WordPress core처럼 번역 문자열을 사용할 수도 있습니다.
$link_text_default = __( 'Lost your password?', 'acme' );
$link_text_new = __( 'Get a new password', 'acme' );
...하지만 이런 식으로 국제화를 한다면, 변화를 원할 수도 있습니다.str_replace
로.DOMDocument
또는 유사하게 표시 텍스트를 특정 대상으로 지정할 수 있습니다.그렇지 않으면 악의적인 변환자가 재설정 링크 URL을 수정할 수 있습니다(이 후크는 전체에 대해 작동하므로).$link_html
).
무슨 일인지 알아냈어요기본 Wordpress 로그인 파일에서 해결책을 찾고 있었는데, 이 로그인 양식은 실제로 Woocommerce에서 온 것입니다.그래서 텍스트가 들어있는 파일을 찾아서 바꿀 수 있었습니다.
혼란을 드려 죄송합니다.
언급URL : https://stackoverflow.com/questions/41022243/wordpress-how-do-i-customize-lost-your-password-text-on-login-page
'programing' 카테고리의 다른 글
모듈의 자식으로 모듈로 라우팅하는 방법 - Angular 2 RC 5 (0) | 2023.10.15 |
---|---|
링크하는 동안 전역 변수에 대한 정의되지 않은 참조 (0) | 2023.10.15 |
교리 2에서 날짜 사이의 항목 선택 (0) | 2023.10.15 |
Angularjs에서 모든 쿠키를 제거하는 방법? (0) | 2023.10.15 |
각 루프에 대한 자바스크립트 간의 차이.각 루프에 대해 in 및 angular.? (0) | 2023.10.15 |