有时候我们在交付客户之前,想要修改一下插件在 WordPress 后台添加的一些菜单名称,应该怎么操作呢?在操作之前,还要考虑到插件后期升级更新可能导致的兼容问题,尽量避免升级以后失效的情况出现。还要尽可能的精准修改,避免修改到前台或其他地方的东西。下面的代码是临时写的,效果还可以,仅供参考哈。
<?php
/**
* 修改表单数据插件名称
* 这种方法适用于使用了本地化翻译功能的插件或主题
* 不只是可以修改后台菜单标题,还可以修改其他使用本地化的字符串
*/
add_filter( 'gettext', function( $translated_text, $text, $domain ) {
if ( ! is_admin() ) {
return $translated_text;//不是后台的话,不做修改。
}
switch ( $translated_text ) {
case 'Contact Forms' ://要修改的菜单标题名称
$translated_text = __( '客户询盘', 'contact-form-cfdb7' );
break;
case 'Contact Forms List' ://还可以修改其他使用本地化的字符串
$translated_text = __( '全部询盘', 'contact-form-cfdb7' );
break;
}
return $translated_text;
}, 20, 3 );
/**
* 使用JS方式修改
* 有些插件或主题,没有使用本地化,这时可以用JQuery进行修改
*/
add_action( 'admin_footer', function() {
?>
<script type="text/javascript">
jQuery('.wp-menu-name').each(function(index, el) {
if ( jQuery('.wp-menu-name')[index].innerHTML == 'Contact Forms' ) {
jQuery('.wp-menu-name')[index].innerHTML = '客户询盘';
}
});
jQuery('.wrap > h2').each(function(index, el) {
if ( jQuery('.wrap > h2')[index].innerHTML == 'Contact Forms List' ) {
jQuery('.wrap > h2')[index].innerHTML = '全部询盘';
}
});
</script>
<?php
} );
/* 删除某些不想要的子菜单 */
add_action( 'admin_menu', function() {
remove_submenu_page( 'cfdb7-list.php', 'cfdb7-extensions' );
remove_submenu_page( 'cfdb7-list.php', 'extensions' );//适配旧版本 2020.11.15 LaoGuo
}, 999 );
专业提供WordPress主题安装、深度汉化、加速优化等各类网站建设服务,详询在线客服!