woocommerce php,要覆盖写在woocommerce-functions.php文件中的函数

我想修改/覆盖写在woocommerce-functions.php文件中的函数, 但是我不想修改woocommerce-functions.php文件。那就是我想在插件或主题中实现这一点。

#1

可以覆盖woocommerce功能, 我最近做了这件事, 并将所有woocommerce扩展功能添加到主题的functions.php文件中, 以便woocommerce插件文件保持不变并可以安全更新。

此页面提供了一个示例, 说明如何删除他们的操作并将其替换为你自己的操作-http://wordpress.org/support/topic/overriding-woocommerce_process_registration-in-child-theme-functionsphp

该页面提供了扩展其功能而不删除其功能以及使用子主题的示例-http://uploadwp.com/customizing-the-woocommerce-checkout-page/

希望这可以帮助 :)

#2

WooCommerce提供了一个模板系统。可以覆盖woocommerce功能。无需修改核心文件即可自定义WooCommerce的一种好方法是使用钩子-

如果使用挂钩添加或操作代码, 则可以将自定义代码添加到主题functions.php文件中。

使用动作挂钩-

要执行自己的代码, 请使用动作钩子do_action(‘action_name’);进行插入。

参见下面的示例, 了解将代码放置在何处:

add_action('action_name', 'your_function_name');

function your_function_name()

{

// Your code

}

使用过滤钩

过滤器挂钩在整个代码中都使用apply_filter(‘filter_name’, $ variable)进行调用;

要操纵传递的变量, 可以执行以下操作:

add_filter('filter_name', 'your_function_name');

function your_function_name( $variable )

{

// Your code

return $variable;

}

在这里你可以获取WooCommerce操作和筛选器挂钩-https://docs.woothemes.com/wc-apidocs/hook-docs.html

#3

如果你有子主题, 则可以将相关文件复制到主题并重写副本。该副本将优先于WooCommerce版本使用。

#4

我需要为移动设备上的视频添加”播放”按钮(默认情况下, 此按钮仅显示在桌面上)。

我需要重写wp-content / themes / gon / framework / theme_functions.php中的函数:

function ts_template_single_product_video_button(){

if( wp_is_mobile() ){

return;

}

global $product;

$video_url = get_post_meta($product->id, 'ts_prod_video_url', true);

if( !empty($video_url) ){

$ajax_url = admin_url('admin-ajax.php', is_ssl()?'https':'http').'?ajax=true&action=load_product_video&product_id='.$product->id;

echo '';

}

}

我发现此说明指出, 如果你使用挂钩添加或操作代码, 则可以将自定义代码添加到主题的functions.php文件中。

我已经有了wp-content / themes / gon-child / functions.php(即原始的gon主题已复制到gon-child), 所以我要做的是:

// Enable tour video on mobile devices

remove_action('ts_before_product_image', 'ts_template_single_product_video_button', 1);

add_action('ts_before_product_image', 'ts_template_single_product_video_button_w_mobile', 1);

function ts_template_single_product_video_button_w_mobile(){

global $product;

$video_url = get_post_meta($product->id, 'ts_prod_video_url', true);

if( !empty($video_url) ){

$ajax_url = admin_url('admin-ajax.php', is_ssl()?'https':'http').'?ajax=true&action=load_product_video&product_id='.$product->id;

echo '';

}

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值