Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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 如何直接编辑包含/摘要中的函数字符串?_Php_Wordpress_Woocommerce - Fatal编程技术网

Php 如何直接编辑包含/摘要中的函数字符串?

Php 如何直接编辑包含/摘要中的函数字符串?,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,例如,在文件plugins/woocommerce/includes/abstracts/abstractwc product.php public function get_price_html_from_to( $from, $to ) { return '<del>' . ( ( is_numeric( $from ) ) ? wc_price( $from ) : $from ) . '</del> <ins>' . ( ( is_numeri

例如,在文件
plugins/woocommerce/includes/abstracts/abstractwc product.php

public function get_price_html_from_to( $from, $to ) {
    return '<del>' . ( ( is_numeric( $from ) ) ? wc_price( $from ) : $from ) . '</del> <ins>' . ( ( is_numeric( $to ) ) ? wc_price( $to ) : $to ) . '</ins>';
}
public函数get_price_html_from_to($from,$to){
返回“”。((is_numeric($from))?wc_价格($from):$from)。“”((is_numeric($to))?wc_价格($to):$to)。“”;
}
在不进入文件本身并更改它的情况下,如何更改该字符串


是否可以创建我自己的
抽象wc product.php
文件,并将wordpress/woo指向该文件而不是原始文件?或者有没有一种方法可以简单地用我自己的函数来删除和替换该函数?或者只是在使用它之前改变它的字符串?

我认为可以实现这一点的一种方法是,在包含
抽象wc product.php
文件之前,先声明您的新的函数
get\u price\u html\u从\u到($from,$to)


然后进入
abstract wc product.php
文件,并在函数的
get\u price\u html\u from\u to($from,$to)
定义附近添加此代码:

if ( ! function_exists( 'get_price_html_from_to' ) )
    public function get_price_html_from_to( $from, $to ) {
    return '<del>' . ( ( is_numeric( $from ) ) ? wc_price( $from ) : $from ) . '</del> <ins>' . ( (       is_numeric( $to ) ) ? wc_price( $to ) : $to ) . '</ins>';
}
如果(!function_存在('get_price_html_from_to'))
公共函数get_price_html_from_to($from,$to){
返回“”。((is_numeric($from))?wc_价格($from):$from)。“”((is_numeric($to))?wc_价格($to):$to)。“”;
}
}


尽管这需要你进入文件并实际更改它。。不过确实有点小。

我认为可以实现这一点的一种方法是,在包含
抽象wc product.php
文件之前,先声明您的函数
get\u price\u html\u from\u to($from$to)


然后进入
abstract wc product.php
文件,并在函数的
get\u price\u html\u from\u to($from,$to)
定义附近添加此代码:

if ( ! function_exists( 'get_price_html_from_to' ) )
    public function get_price_html_from_to( $from, $to ) {
    return '<del>' . ( ( is_numeric( $from ) ) ? wc_price( $from ) : $from ) . '</del> <ins>' . ( (       is_numeric( $to ) ) ? wc_price( $to ) : $to ) . '</ins>';
}
如果(!function_存在('get_price_html_from_to'))
公共函数get_price_html_from_to($from,$to){
返回“”。((is_numeric($from))?wc_价格($from):$from)。“”((is_numeric($to))?wc_价格($to):$to)。“”;
}
}


尽管这需要你进入文件并实际更改它。。不过确实有点小。

不要更改模板,因为一旦有更新,您将失去更改的模板。而是将您的方法添加到筛选器:

    dd_filter( 'woocommerce_get_price_html', 'your_function_name', 100, 2 );
    function your_function_name( $price, $product ){
         return 'Was:' . str_replace( '<ins>', ' Now:<ins>', $price );
    }
dd_过滤器('woocommerce_get_price_html','your_function_name',100,2);
函数您的函数名称($price,$product){
返回“Was:”.str_replace(“”,“Now:”,$price);
}

不要更改模板,因为一旦有更新,您将丢失更改的模板。而是将您的方法添加到筛选器:

    dd_filter( 'woocommerce_get_price_html', 'your_function_name', 100, 2 );
    function your_function_name( $price, $product ){
         return 'Was:' . str_replace( '<ins>', ' Now:<ins>', $price );
    }
dd_过滤器('woocommerce_get_price_html','your_function_name',100,2);
函数您的函数名称($price,$product){
返回“Was:”.str_replace(“”,“Now:”,$price);
}

plugins/woocerce/includes/abstracts/abstract wc product.php中对原始woocerce文件的任何更改都将在任何更新中删除。因此,一切都必须存在于插件/WooCommerce之外这是事实,但这是我唯一能想到的方法,为了满足您的需要,我最近在wordpress网站上遇到了这个问题,我使用了我描述的解决方案,我不确定user2683419解决方案是否有效,
add\u filter
功能我相信他的意思不是
dd\u filter
。。。而且我也不认为wordpress会经常更新,在一个文件中添加两行就足够难了,以至于你每次更新时都不能这样做(特别是如果你只需要更改几个函数),也许这只是我的意见检查这个相关链接,可能会有帮助,阅读该主题的最后3篇文章之前遇到过,不起作用,我想它可能已经过时了。这是一个例子,我将在文件中做几十次,如果不是一百次的话,这太多了,在每次更新后都很难解决。我想建立这个网站,把它留给别人,我不希望它需要不断更新的一个人谁知道一个100个变化的位置。我想要一个逻辑文件目录,或者一个清晰标记的文件。我明白你的意思,我还没有找到任何方法来实现这一点。
plugins/woocerce/includes/abstracts/abstract wc product.php中对原始woocerce文件的任何更改都将在任何更新中被删除。因此,一切都必须存在于插件/WooCommerce之外这是事实,但这是我唯一能想到的方法,为了满足您的需要,我最近在wordpress网站上遇到了这个问题,我使用了我描述的解决方案,我不确定user2683419解决方案是否有效,
add\u filter
功能我相信他的意思不是
dd\u filter
。。。而且我也不认为wordpress会经常更新,在一个文件中添加两行就足够难了,以至于你每次更新时都不能这样做(特别是如果你只需要更改几个函数),也许这只是我的意见检查这个相关链接,可能会有帮助,阅读该主题的最后3篇文章之前遇到过,不起作用,我想它可能已经过时了。这是一个例子,我将在文件中做几十次,如果不是一百次的话,这太多了,在每次更新后都很难解决。我想建立这个网站,把它留给别人,我不希望它需要不断更新的一个人谁知道一个100个变化的位置。我想要一个逻辑文件目录,或者一个清晰标记的文件。我明白你的意思,我还没有找到任何方法来实现这一点