Anda dapat mencoba ini:
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 );
untuk mengubah pesan sesuai keinginan Anda:
Kami dapat memperbaikinya lebih lanjut:
Jika Anda hanya ingin mengaktifkan filter pada /wp-admins/plugins.php
halaman, Anda dapat menggunakan yang berikut:
add_action( 'load-plugins.php',
function(){
add_filter( 'gettext', 'b2e_gettext', 99, 3 );
}
);
dengan:
/**
* 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;
}
tempat kami menghapus panggilan balik filter gettext segera setelah kami menemukan kecocokan.
Jika kami ingin memeriksa jumlah panggilan gettext yang dibuat, sebelum kami mencocokkan string yang benar, kami dapat menggunakan ini:
/**
* 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;
}
dan saya mendapat 301
panggilan di instalasi saya:
Saya bisa menguranginya menjadi hanya 10
panggilan:
dengan menambahkan filter gettext di dalam in_admin_header
hook, di dalam load-plugins.php
hook:
add_action( 'load-plugins.php',
function(){
add_action( 'in_admin_header',
function(){
add_filter( 'gettext', 'b2e_gettext_debug', 99, 3 );
}
);
}
);
Perhatikan bahwa ini tidak akan menghitung panggilan gettext sebelum pengalihan internal digunakan ketika plugin diaktifkan.
Untuk mengaktifkan filter kami setelah pengalihan internal, kami dapat memeriksa parameter GET yang digunakan ketika plugin diaktifkan:
/**
* 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;
}
dan gunakan seperti ini:
b2e_is_activated() && add_filter( 'gettext', 'b2e_gettext', 99, 3 );
dalam contoh kode sebelumnya.