2017-03-17 点击:1537
在做WooCommerce主题项目开发中遇到常见代码及问题解决,这里记录下来,方便以后查找。
WC()->cart->get_cart()可以获取购物车内的商品,这些信息都会保存在一个数组中,可以从数组中将商品的名字、单价等信息循环取出,放在html中
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) { //输出价格 var_dump($cart_item['data']->price); }
在主题functions.php中任意位置添加下面的代码
remove_action( 'woocommerce_before_single_product_summary', 'woocommerce_show_product_sale_flash', 10 );
remoce_action()是wordpress提供的api,用来移除连接到hook的特定函数,第一个参数是动作hook,第二个参数是连接到该hook的函数, 在产品详情页面content-single-product.php中,你可以找到下面的代码,woocommerce_single_product_summary就是我们我们要找的hook,@符号后面的都是连接到这个hook的函数,有title、price、add_to_cart等等,根据你的需要,你可以在functions中任意移除,但是最好不要更改这个的代码
do_action( 'woocommerce_single_product_summary' );
add_filter( 'woocommerce_enqueue_styles', '__return_empty_array' );
在functions.php中添加下面的代码,add_action()用来将函数连接到指定action(hook),这里我们将myScripts()这个函数连接到wp_enqueue_scripts这个hook上面,关于这个hook你可以在wordpress官网查看更加详细的讲解,其中cookee-js是我取的一个名字,get_template_directory_uri()获取项目的根目录,index.js是我的js文件的名字
function myScripts() { wp_enqueue_script( 'cookee-js', get_template_directory_uri().'/js/index.js'); } add_action( 'wp_enqueue_scripts', 'myScripts' );
在functions.php中添加filter,将提示信息的文本隐藏,没有找到方法可以直接删除html的
add_filter( 'wc_add_to_cart_message', 'custom_add_to_cart_message' ); function custom_add_to_cart_message() { echo ''; }
在get_image()函数中随便传入一个参数,函数就会返回产品原图,购物车默认的产品是180*180,做了剪裁,这里不需要剪裁,原图显示
$_product->get_image(200);
获取的主要的购物车相关页面链接
esc_url( wc_get_page_permalink( 'cart' )); esc_url( wc_get_page_permalink( 'shop' )); esc_url( wc_get_page_permalink( 'checkout' ));