加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 结帐woocommerce wordpress中的简短描述

发布时间:2020-12-13 21:47:08 所属栏目:PHP教程 来源:网络整理
导读:如何在Woocommerce的结帐页面中添加每种产品的简短描述?我做了很多研究,这是我提出的最好的研究. ?phpif (sizeof($woocommerce-cart-get_cart())0) : foreach ($woocommerce-cart-get_cart() as $item_id = $values) : $_product = $values['data']; if ($_
如何在Woocommerce的结帐页面中添加每种产品的简短描述?我做了很多研究,这是我提出的最好的研究.

<?php
if (sizeof($woocommerce->cart->get_cart())>0) :
    foreach ($woocommerce->cart->get_cart() as $item_id => $values) :
        $_product = $values['data'];
    if ($_product->exists() && $values['quantity']>0) :
        echo '
    <tr class = "' . esc_attr(apply_filters('woocommerce_checkout_table_item_class','checkout_table_item',$values,$item_id ) ) . '">
    <td class="product-name">'.$_product->get_title().$woocommerce->cart->get_item_data( $values ).'</td>
    <td class="short_description">'.$_product->get_post_data().$woocommerce->post->get_post_excerpt( $values ).'</td>

    <td class="product-quantity">'.$values['quantity'].'</td>

    <td class="basispreis">'.$_product->get_price().$woocommerce->post->get_post_excerpt( $values ).'</td>

    <td class="product-total">' . apply_filters( 'woocommerce_checkout_item_subtotal',$woocommerce->cart->get_product_subtotal( $_product,$values['quantity'] ),$item_id ) . '</td>
    </tr>';
    endif;
    endforeach;
    endif;
    do_action( 'woocommerce_cart_contents_review_order' );
?>

我收到了错误

可捕获的致命错误:类WP_Post的对象无法转换为/wp-content/plugins/woocommerce/templates/checkout/form-checkout.php中的字符串
在这条线上

<td class="short_description">'.$_product->get_post_data().$woocommerce->post->get_post_excerpt( $values ).'</td>

解决方法

过滤器 woocommerce_get_item_data可用于此.

像这样:

add_filter( 'woocommerce_get_item_data','wc_checkout_description_so_15127954',10,2 );

function wc_checkout_description_so_15127954( $other_data,$cart_item )
{
    $post_data = get_post( $cart_item['product_id'] );
    $other_data[] = array( 'name' =>  $post_data->post_excerpt );
    return $other_data;
}

请注意,可能需要进行某种检查,例如,确保仅在实际查看Checkout页面时调用此过滤器,因为我不知道是否会在其他实例中调用它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读