我想根据当前语言(使用Polylang)过滤我的WooCommerce会员计划的标题.以下代码在后端工作,即,当我将PolyLang设置为不同于英语的语言时,我可以看到成员计划标题(对于post_id为3884的成员计划)在/wp-admin/edit.php?post_type=wc_membership_plan
处更改:
function my_the_title( $title, $id ) {
if (pll_current_language( 'slug' ) == 'en') {
return $title;
}
if ( $id == '3884' ) {
return $title . ' - Not English';
}
return $title;
}
add_filter( 'the_title', 'my_the_title', 10, 2 );
问题是,在低于/my-account/members-area/
的前端,上述方法不起作用.在这里,无论语言如何,都使用原始的会员计划标题.将所有呼叫记录到my_the_title
,我可以在浏览后端页面时看到POST 3884正在通过(我假设这就是它在后端工作的原因),但在浏览前端页面时,我没有看到POST 3884通过.我想the_title
在这种情况下是错误的筛选器,但我不知道为什么以及在这种情况下还应该使用什么.
谢谢, 乌韦
PS:WordPress 6.3、WooCommerce 8.0.2、WooCommerce会员资格1.25、Polylang Pro 3.4.5、Polylang for WooCommerce 1.8