是否通过过滤器转换自定义订单状态?

时间:2016-01-04 作者:bluantinoo

我正在使用此插件自定义Woocommerce中的订单状态:Woocommerce Order Status Manager

在文档中,我使用以下过滤器翻译订单状态名称:

wc_order_status_manager_order_status_name
实际上,在插件源代码中有以下几行代码:

public function get_name() {

    /**
     * Filter the name
     *
     * @since 1.3.0
     * @param string $name The order status name
     * @param string $slug The order status slug
     */
    return apply_filters( \'wc_order_status_manager_order_status_name\', $this->name, $this->slug );
}
在我的主题功能中。php I添加了以下代码:

function af_change_shipped_status_name($name, $slug){
if (\'shipped\' == $slug){
    $name = __(\'Shipped\', \'mythemetextdomain\');
}   
return $name;
}

add_filter( \'wc_order_status_manager_order_status_name\', \'af_change_shipped_status_name\', 10, 2 );
但它不起作用。

我错了吗?

1 个回复
SO网友:Pieter Goosen

重新仔细检查过滤器代码。您正在修改$name 但是回来了$status_name 未定义。如果启用了调试,则应该看到调试消息告诉您$status_name 是未定义的变量

只需更改

return $status_name;

return $name;

相关推荐

WP_Query filters

这个问题可能看起来很愚蠢,但我真的没有找到有用的链接。我正在尝试做一个简单的查询,在这里我选择了最近的10篇文章,我希望能够在循环中只显示这10篇文章中的1篇我的代码看起来像 // Query latest 10 records $the_query = new WP_Query( array( \'post_type\' => \'post\', \"order\" => \"DESC\", \'posts_per_page