워드프레스 플러그인 번역 - load_plugin_text 도메인
커스텀 워드프레스 플러그인 작업 중인데 멀티랭을 준비할 수가 없습니다.
주 언어의 .mo 파일을 올바르게 로드하지만 언어를 전환할 때(WPML 사용) 항상 주 언어(이 경우 독일어)의 번역을 표시합니다.그래서 제가 영어로 할 때도 독일어 번역본을 보여줍니다.
제 암호는 이렇습니다.
머리글에서:
/*
Plugin Name: MM Jobs
Plugin URI: http://example.com/
Description: Custom Jobs Plugin to create new Jobs
Version: 1.3.84
Author: Jekey
Author URI: http://example.com/
Text Domain: mm-jobs
Domain Path: /languages
*/
다음:
function mm_jobs_plugins_loaded() {
load_plugin_textdomain( 'mm-jobs', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
}
add_action( 'plugins_loaded', 'mm_jobs_plugins_loaded', 0 );
.mo 파일이 맞습니다, 이미 독일어 번역을 로딩하고 있기 때문입니다.명칭 : mm-jobs-en_US.mo 또는 mm-jobs-de_DE.mo under /plugins/mm-lugges/margin/margin/margin/margin/margin/marg
뭐가 문제인지 알아요?
같은 문제를 가지고 있는 사람일 경우.가지고 있었습니다
get_plugin_data( __FILE__ );
내 암호대로이로 인해 텍스트 도메인을 로드하는 wp_core 함수가 실행되므로, 내 en_US.mo는 de_DE.mo에 의해 재정의되었습니다.
get_plugin_data()가 잘못된 lang-file을 가져간 이유를 모르겠습니다.그 기능을 사용하는 여러 플러그인에 맞는 것을 고른 것 같습니다.
액션 후크를 사용합니다.
플러그인 변환을 로드하는 중에는 작업을 수행하지 않아야 합니다.
plugins_loaded
그것은 너무 이르며 다른 언어와 관련된 플러그인이 정확하게 연결되는 것을 막습니다.load_textdomain()
그들이 하고 싶은 것은 무엇이든 할 수 있습니다.부르기load_plugin_textdomain()
까지 미뤄야 합니다.init
액션.add_action( 'init', 'wpdocs_load_textdomain' ); /** * Load plugin textdomain. */ function wpdocs_load_textdomain() { load_plugin_textdomain( 'wpdocs_textdomain', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' ); }
참조 : https://developer.wordpress.org/reference/functions/load_plugin_textdomain/ #div-comment-1568
언급URL : https://stackoverflow.com/questions/45525390/wordpress-plugin-translation-load-plugin-textdomain
'programing' 카테고리의 다른 글
각도 안에 crf_token()을 보내는 방법Laravel API를 이용한 JS 양식? (0) | 2023.09.18 |
---|---|
MySQL 데이터베이스 이름( 스키마 이름 변경)을 변경하려면 어떻게 해야 합니까? (0) | 2023.09.18 |
숫자를 date sql oracle로 변환 (0) | 2023.09.18 |
javascript 작성 날짜(년, 월, 일) (0) | 2023.09.18 |
Google 차트에서 패딩 또는 여백 제거 (0) | 2023.09.18 |