我通常使用register_widget函数注册我的小部件。在小部件类的构造函数中,我放置以下代码:
class TourDates extends WP_Widget
{
public function __construct()
{
$options = array('classname' => 'tour-dates', 'description' => __('Display upcoming tour dates'));
parent::__construct('tour_dates', __('Tour Dates'), $options);
}
}
您还可以查看WordPress Codex 网站上的小部件 API 。希望这可以帮助您创建自定义小部件。
我通常做的是将我的翻译与从 WordPress 加载的默认翻译合并,如下所示:
function loadTextDomain() {
$locale = get_locale();
$languageDir = dirname(__FILE__) . '/languages';
$domain = 'default';
$mofile = $languageDir . '/theme.' . $locale . '.mo';
global $l10n;
$mo = new MO();
if (!$mo->import_from_file($mofile)) {
return false;
}
if (isset($l10n[$domain]) && !empty($l10n[$domain]->entries)) {
$l10n[$domain]->merge_with($mo);
} else {
$l10n[$domain] = $mo;
}
}
add_action('init', 'loadTextDomain');
此代码看起来类似于load_textdomain
WordPress 中的函数,但它避免了原始函数中确实存在的所有过滤器,这有助于避免任何 WordPress 挂钩更改您的$domain
和$mofile
变量。
但我会把它留给你。也许load_textdomain()
来自 WordPress 的函数也可以正常工作,但如果它没有,这个函数应该可以解决问题。
现在,如果您使用loadTextDomain()
我在上面粘贴的功能,您只需将文件夹放置languages
在与您所在的文件夹相同的文件夹functions.php
中,您可以在该新文件夹中放置theme.nl_NL.mo
或theme.de_DE.mo
文件,具体取决于您使用的语言。这应该允许翻译您的网站以及管理区域。