网站日期已从Gregorian日期更改为Jalali日期,并带有一个插件,这很好。
if (get_locale() == \'fa_IR\') {
add_filter(\'wp_date\', \'wpp_fix_i18n\', 10, 4);
}
现在我希望只有当网站的语言是波斯语(fa\\u IR)时,网站的日期才改为Jalali。我添加了这个代码,但它不起作用。
if (get_locale() != \'fa_IR\') {
remove_filter(\'wp_date\', \'wpp_fix_i18n\', 10, 4);
}
最合适的回答,由SO网友:Santiago Cerro López 整理而成
“The”;删除过滤器“;函数仅接受3个参数:挂钩名称(“wp\\u date”),回调函数(“wpp\\u fix\\u i18n”)和优先级(10)。您正在使用4个参数。
我相信你的问题与执行生命周期有关。您正在尝试在创建筛选器之前删除它。
要解决这个问题,请将函数包装在主题函数的init hook中。php以确保加载插件(并添加过滤器):
function mytheme_fix_date_issue () {
if (get_locale() != \'fa_IR\') {
remove_filter(\'wp_date\', \'wpp_fix_i18n\', 10);
}
}
add_action(\'init\', \'mytheme_fix_date_issue\');