php facetwp woocommerce布局构建器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php facetwp woocommerce布局构建器相关的知识,希望对你有一定的参考价值。

<?php
/** layout builder output for woocommerce custom fields **/
add_filter( 'facetwp_builder_item_value', function( $value, $item ) {

    if ( 0 === strpos( $value, 'woo/' ) ) {

            $field_key = substr( $value, 4 );

            if ( 'price' == $field_key ) {

	            $product = wc_get_product( get_the_ID() );
	            $price = $product->get_price_html();
	            $value = str_replace( $item['source'], $price, $value );

            } elseif ( 'sale_price' == $field_key ) {

                $product = wc_get_product( get_the_ID() );
                $price = $product->get_sale_price();
                if ( $price > 0 ) {
	                $value = str_replace( $item['source'], wc_price( $price ) . $product->get_price_suffix(), $value );
                } else {
	                $value = str_replace( $item['source'], '', $value );
                }

            } elseif ( 'regular_price' == $field_key ) {

	            $product = wc_get_product( get_the_ID() );
	            $price = $product->get_regular_price();
	            if ( $price > 0 ) {
		            $value = str_replace( $item['source'], wc_price( $price ) . $product->get_price_suffix(), $value );
	            } else {
		            $value = str_replace( $item['source'], '', $value );
	            }

            } elseif ( 'average_rating' == $field_key ) {

	            $product = wc_get_product( get_the_ID() );
	            $rating = $product->get_average_rating();
	            if ( $rating !== 0 ) {
		            $value = str_replace( $item['source'], wc_get_rating_html( $rating ), $value );
	            } else {
		            $value = str_replace( $item['source'], '', $value );
	            }

            } elseif ( 'stock_status' == $field_key ) {

	            $product = wc_get_product( get_the_ID() );
	            $value = str_replace( $item['source'], wc_get_stock_html( $product ), $value );	            }

            }

            /** TODO
             ** product_type, on_sale - not sure why or how you would use these
             **/

	return $value;

}, 10, 2 );

以上是关于php facetwp woocommerce布局构建器的主要内容,如果未能解决你的问题,请参考以下文章

php facetwp在facetwp模板中使用woocommerce占位符图像

php facetwp woocommerce facetwp-template with hooks

php facetwp指数“任何”的woocommerce变化

php facetwp woocommerce术语描述

php facetwp输出woocommerce明星

php facetwp woocommerce模板