WordPress主题和插件翻译教程
Published
2023-04-21
浏览次数 : 263
首先主题和插件里面要使用翻译函数,如:
_e( ‘Post’, ‘my-theme’ ),
__( ‘Post’, ‘my-theme’ ),
_x(‘product’,’posttypename’,’haqiye’),
_n( ‘%s post’, ‘%s posts’, $count ) 等函数。
官方链接: https://developer.wordpress.org/themes/functionality/internationalization/
然后确保自己在style.css里面设置了textdomain, 即:
比如这样:
/*!
Theme Name: newton
Theme URI: https://newton.com/
Author: Newton
Author URI: https://Newtown.com/
Description: Description
Version: 1.0.0
Tested up to: 6.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: newton */
然后我们要在函数里面加载进来这个域名, 通过after_set_up的钩子,比如这样: (和其他函数执行在同一个钩子上), 通过函数: load_theme_textdomain( ‘haqiye’, get_template_directory() . ‘/languages’ );
确保这个函数在functions.php文件里执行。
function haqiye_setup() {
/*
* Make theme available for translation.
* Translations can be filed in the /languages/ directory.
* If you're building a theme based on haqiye, use a find and replace
* to change 'haqiye' to the name of your theme in all the template files.
*/
load_theme_textdomain( 'haqiye', get_template_directory() . '/languages' );
// Add default posts and comments RSS feed links to head.
add_theme_support( 'automatic-feed-links' );
/*
* Let WordPress manage the document title.
* By adding theme support, we declare that this theme does not use a
* hard-coded <title> tag in the document head, and expect WordPress to
* provide it for us.
*/
add_theme_support( 'title-tag' );
/*
* Enable support for Post Thumbnails on posts and pages.
*
* @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/
*/
add_theme_support( 'post-thumbnails' );
// This theme uses wp_nav_menu() in one location.
register_nav_menus(
array(
'header-menu' => esc_html__( 'Header Menu', 'haqiye' ),
'friend-link' => esc_html__('Friend Links','haqiye'),
'footer-menu' => esc_html('Footer Menu','haqiye'),
'mobile-footer' => esc_html__('Mobile footer menu','haqiye'),
)
);
/*
* Switch default core markup for search form, comment form, and comments
* to output valid HTML5.
*/
add_theme_support(
'html5',
array(
'search-form',
'comment-form',
'comment-list',
'gallery',
'caption',
'style',
'script',
)
);
// Set up the WordPress core custom background feature.
add_theme_support(
'custom-background',
apply_filters(
'haqiye_custom_background_args',
array(
'default-color' => 'ffffff',
'default-image' => '',
)
)
);
// Add theme support for selective refresh for widgets.
add_theme_support( 'customize-selective-refresh-widgets' );
/**
* Add support for core custom logo.
*
* @link https://codex.wordpress.org/Theme_Logo
*/
add_theme_support(
'custom-logo',
array(
'height' => 250,
'width' => 250,
'flex-width' => true,
'flex-height' => true,
)
);
}
add_action( 'after_setup_theme', 'haqiye_setup' );