WooCommerce删除操作和添加操作(_A)

时间:2016-12-06 作者:Cecily Miller

我的WordPress项目中有woocommerce-functions.php 在这里,我有我所有的woocommerce编辑。所以,我尝试制作两个不同的单一产品页面。我在woocommerce-functions 名为“diff\\u prod”的文件函数

// Check if the product have specific Category
function diff_prod() {
    global $post;

    $terms = wp_get_post_terms( $post->ID, \'product_cat\' );
    foreach( $terms as $term ) $categories[] = $term->slug;

    if( is_array( $categories ) ) {
        if( in_array( \'diff-prod\', $categories ) ) {

            $diffe = \'im different!\';

        } else {

            $diffe = \'im not!\';
        }
    }

    return $diffe;

}
然后我想做一个if语句:

if(diff_prod() == \'im different!\'):
    /* Remove "Add to Cart" -Button from Single Product Page */
    remove_action( \'woocommerce_single_product_summary\', \'woocommerce_template_single_add_to_cart\', 30 );
endif;
但出于某种原因,这不起作用。我已经把代码读了几百遍了,所有的东西都有道理,但很明显我遗漏了一些东西。

有什么建议吗?

1 个回复
最合适的回答,由SO网友:Benoti 整理而成

您可以创建自己的专用函数,并在函数位于function_exists 陈述

if ( ! function_exists( \'woocommerce_template_single_add_to_cart\' ) ) {}
您可以使用woocommerce_template_single_add_to_cart 功能来自wc-template-functions.php

只需将此功能复制/粘贴到您的woocommerce功能。php并使用所需的语句对其进行修改。

如果您不想根据特定条件添加多个模板,则此方法很简单。