Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用str_replace、WordPress hooks和WooCommerce函数_Php_Wordpress_Hook_Woocommerce - Fatal编程技术网

Php 如何使用str_replace、WordPress hooks和WooCommerce函数

Php 如何使用str_replace、WordPress hooks和WooCommerce函数,php,wordpress,hook,woocommerce,Php,Wordpress,Hook,Woocommerce,在WooCommerce中,有一个主模板,所有内容都会运行 在这里: 在第1315行下,我们开始使用html进行结帐,但问题是所有内容都在标记中。我想将其更改为或或(未决定)。尽管如此,我还是想更改标签 我希望通过一个str\u替换(“,”/div>“,$some\u变量)来实现这一点

在WooCommerce中,有一个主模板,所有内容都会运行

在这里:

第1315行下,我们开始使用html进行结帐,但问题是所有内容都在
标记中。我想将其更改为
  • (未决定)。尽管如此,我还是想更改标签

    我希望通过一个
    str\u替换(“,”/div>“,$some\u变量)来实现这一点
    
    哦,我不编辑主文件的原因是因为插件的每次更新都会被覆盖,效率低下:

    在切换结束时,您可以编辑if语句,使其看起来像这样 第1468行

    发件人:

    致:

    if($args['return'])){
    str_替换(“,$字段);
    返回$field;
    }否则{
    str_替换(“,$字段);
    回声场;
    }
    
    或者您可以在中断之前将其添加到每个案例

    case "country" :
    
        ...
        ...
        ...
    
        str_replace("<p","<div",$field);
        str_replace("/p>","/div>",$field);
    break;       
    
    案例“国家”:
    ...
    ...
    ...
    str_替换(“,$字段);
    打破
    

    您可以尝试编辑模板

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

    示例:要覆盖管理订单通知,请复制: woocommerce/templates/email/admin-new-order.php发送至 yourtheme/woocommerce/emails/admin-new-order.php

    复制的文件现在将覆盖默认模板 文件不要在核心插件本身中编辑这些文件,因为它们 在升级过程中被覆盖,任何自定义都将 迷路了


    没有办法和它扯上关系?要添加到wordpress的functions.php中,我会按照上次更新的方式进行。Woocommerce是为每个钩子设置do_操作的,所以我不认为您可以将其绑定到插件/变量,以使其以不同的方式输出。你可以重新创建模板文件,让它输出你想要的内容。我还不清楚怎么做,因为do_操作链接到woocommerce_template.php文件。但是如果我想的没错,你会建议替换
    do_操作('woocommerce\u checkout\u billing')
    hook-in-form-checkout.php和my function.php中的自定义函数,以及woocommerce template.php中的内容?基本上是的,如果您不想编辑插件数据,我们都知道这不是一个好主意,那么您必须创建自己的do_操作来替换已有的内容。基本上创建自己的函数和挂钩,直接与woocommerce交互。您也可以将其用作参考。我不知道有什么方法,但您可以将add_筛选器作为单独的函数添加到do_操作中,并在单独的插件中返回str_replace()。
    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;