如何使用str_replace, WordPress钩子和WooCommerce功能



在WooCommerce中有一个主模板,所有东西都运行。

: https://github.com/woothemes/woocommerce/blob/master/woocommerce-template.php L1315

line 1315和以下,我们开始检查的html,但问题是一切都在<p>标签。我想把它改成<div><li><dd>(未定)。尽管如此,我还是想修改这个标签。

我希望通过str_replace("<p","<div",$some_variable);str_replace("/p>","/div>",$some_variable);来做到这一点,但我对要调用的钩子非常困惑。

哦,我不编辑主文件的原因是,因为每次更新插件,它都会被覆盖,效率低下:]

在Switch的末尾,您可以编辑if语句,使其看起来像这样替换第1468行

来自:

if ( $args['return'] ) return $field; else echo $field;

:

if ( $args['return'] ) {
    str_replace("<p","<div",$field);
    str_replace("/p>","/div>",$field);
    return $field;
} else {
    str_replace("<p","<div",$field);
    str_replace("/p>","/div>",$field);
    echo $field;
}

或者您可以将它添加到分隔符之前的每个大小写

case "country" :
    ...
    ...
    ...
    str_replace("<p","<div",$field);
    str_replace("/p>","/div>",$field);
break;       

你可以试着编辑模板

http://docs.woothemes.com/document/template-structure/

您可以通过覆盖以升级安全的方式编辑这些文件。只需将其复制到您的主题中名为/woocommerce的目录中,保持相同的文件结构

示例:要覆盖admin订单通知,复制:woocommerce/模板/电子邮件/admin-new-order.phpyourtheme/woocommerce/电子邮件/admin-new-order.php

复制的文件现在将覆盖WooCommerce默认模板文件。不要在核心插件中编辑这些文件是否在升级过程中被覆盖,任何自定义都将被覆盖丧失。

最新更新