您可以尝试以下操作:
is_admin() && add_filter( \'gettext\',
function( $translated_text, $untranslated_text, $domain )
{
$old = array(
"Plugin <strong>activated</strong>.",
"Selected plugins <strong>activated</strong>."
);
$new = "Captain: The Core is stable and the Plugin is <strong>activated</strong> at full Warp speed";
if ( in_array( $untranslated_text, $old, true ) )
$translated_text = $new;
return $translated_text;
}
, 99, 3 );
要根据您的喜好修改邮件,请执行以下操作:
We can refine it further:
如果您只想激活
/wp-admins/plugins.php
第页,您可以使用以下选项:
add_action( \'load-plugins.php\',
function(){
add_filter( \'gettext\', \'b2e_gettext\', 99, 3 );
}
);
使用:
/**
* Translate the "Plugin activated." string
*/
function b2e_gettext( $translated_text, $untranslated_text, $domain )
{
$old = array(
"Plugin <strong>activated</strong>.",
"Selected plugins <strong>activated</strong>."
);
$new = "Captain: The Core is stable and the Plugin is <strong>activated</strong> at full Warp speed";
if ( in_array( $untranslated_text, $old, true ) )
{
$translated_text = $new;
remove_filter( current_filter(), __FUNCTION__, 99 );
}
return $translated_text;
}
在这里,一旦有匹配项,就删除gettext过滤器回调。
如果要在匹配正确字符串之前检查所进行的gettext调用的数量,可以使用以下方法:
/**
* Debug gettext filter callback with counter
*/
function b2e_gettext_debug( $translated_text, $untranslated_text, $domain )
{
static $counter = 0;
$counter++;
$old = "Plugin <strong>activated</strong>.";
$new = "Captain: The Core is stable and the Plugin is <strong>activated</strong> at full Warp speed";
if ( $untranslated_text === $old )
{
$translated_text = $new;
printf( \'counter: %d - \', $counter );
remove_filter( current_filter(), __FUNCTION__ , 99 );
}
return $translated_text;
}
我得到了
301
安装时调用:
我可以把它减少到10
电话:
通过在in_admin_header
吊钩,在load-plugins.php
挂钩:
add_action( \'load-plugins.php\',
function(){
add_action( \'in_admin_header\',
function(){
add_filter( \'gettext\', \'b2e_gettext_debug\', 99, 3 );
}
);
}
);
请注意,在激活插件时使用内部重定向之前,这不会计算gettext调用。
要在内部重定向之后激活我们的过滤器,我们可以检查激活插件时使用的GET参数:
/**
* Check if the GET parameters "activate" and "activate-multi" are set
*/
function b2e_is_activated()
{
$return = FALSE;
$activate = filter_input( INPUT_GET, \'activate\', FILTER_SANITIZE_STRING );
$activate_multi = filter_input( INPUT_GET, \'activate-multi\', FILTER_SANITIZE_STRING );
if( ! empty( $activate ) || ! empty( $activate_multi ) )
$return = TRUE;
return $return;
}
使用方法如下:
b2e_is_activated() && add_filter( \'gettext\', \'b2e_gettext\', 99, 3 );
在前面的代码示例中。