php - 更改管理仪表板 WooCommerce 小部件标题

标签 php wordpress woocommerce gettext wp-admin

我想将 WooCommerce 仪表板小部件标题从“WooCommerce Status”更改为其他内容。

我知道我需要在我的functions.php中使用一个钩子(Hook),但我正在努力让这项工作正常进行。

我在 WooCommerce 中找到了生成仪表板小部件的函数和文件(plugins/woocommerce/includes/admin/class-wc-admin-dashboard.php) - 并且我尝试使用 add_action 来 Hook 进入这个函数,但不幸的是没有效果,它要么不执行任何操作,要么抛出错误。

我能够创建一个全新的仪表板小部件,但这不是我需要的。

我引用了几个答案和教程,例如这个接近的答案和教程( https://www.tychesoftwares.com/understand-wordpress-dashboard-widget-create-custom-dashboard-widget-woocommerce/ )。

我知道这应该非常简单,但我在 Hook 和过滤器方面没有足够的经验,无法实现这一点 - 希望得到任何帮助!

编辑:

这是我随后创建的纯 CSS 解决方案,如果出于任何原因需要它。

*请注意,所选答案中提供的 PHP 是最佳实践,应尽可能使用(此外,woocommerce 使用的标记/标签可能会发生变化)。

/* Change Dashboard 'WooCommerce Status' Title */
#woocommerce_dashboard_status h2 { font-size: 0; }
#woocommerce_dashboard_status h2:before {
    content: "Sales Report";
    font-size: 14px;
} 

最佳答案

请尝试以下操作:

add_filter(  'gettext',  'change_add_to_cart_message', 10, 3 );
function change_add_to_cart_message( $translated, $text, $domain  ) {
    global $pagenow;
    if( $text === 'WooCommerce status' && $domain === 'woocommerce' && is_admin() && $pagenow === 'index.php' ){
        $translated = __( 'WooCommerce summary', $domain );
    }
    return $translated;
}

代码位于事件子主题(或事件主题)的 function.php 文件中。经过测试并有效。

enter image description here

关于php - 更改管理仪表板 WooCommerce 小部件标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55667388/

相关文章:

php - 连接表 - MySQL 和 PHP

php - 无法在 macos 中删除/usr/bin/php

php - 是什么导致 SAML 响应中的 Responder 状态

wordpress - 带有子项列表(类别或页面)的自定义面包屑

xml - 将 JSON 或 XML API 响应保存到 Wordpress 数据库

wordpress - 修复单选按钮的CSS-WooCommerce

php - 删除 Woocommerce 中的“添加到购物车”通知并更改 "add to cart"按钮

javascript - 使用参数将用户重定向到另一个 PHP 页面

mysql - 编写 SQL 查询以删除 Woocommerce 中的旧订单

javascript - 在订阅表单中获取名称字段的字母数字字符串