Получить значение цены объекта WP - PullRequest
0 голосов
/ 05 марта 2020

Я использую NAME YOUR PRICE PLUGIN и на странице оформления заказа моего сайта Wordpress мне нужно получить значение цены (300) этого Wordpress-объекта. Поэтому я установил в своих функциях все oop. php. Но я не знаю, как это сделать, чтобы указать этот атрибут c. Спасибо за помощь

foreach( WC()->cart->get_cart() as $cart_item_key => $values ) {
        $cart_product = $values['data'];

        print_r ($values['data']);
    }

    WC_Product_Simple Object
(
    [object_type:protected] => product
    [post_type:protected] => product
    [cache_group:protected] => products
    [data:protected] => Array
        (
            [name] => Faire un don
            [slug] => don
            [date_created] => WC_DateTime Object
                (
                    [utc_offset:protected] => 0
                    [date] => 2019-10-25 11:15:27.000000
                    [timezone_type] => 3
                    [timezone] => Europe/Paris
                )

            [status] => publish
            [featured] => 
                         [sku] => don
            ...
            [purchase_note] => 
        )

    [supports:protected] => Array
        (
            [0] => ajax_add_to_cart
        )

    [id:protected] => 969
    [changes:protected] => Array
        (
            [price] => 300
            [sale_price] => 300
            [regular_price] => 300
        )

    [object_read:protected] => 1
    [extra_data:protected] => Array
        (
        )

        )
)

Ответы [ 2 ]

0 голосов
/ 05 марта 2020

Поскольку предыдущие ответы только нацелены на атрибут frist PRICE, я наконец нашел решение с помощью этого метода:

function accessProtected($obj, $prop) {
  $reflection = new ReflectionClass($obj);
  $property = $reflection->getProperty($prop);
  $property->setAccessible(true);
  return $property->getValue($obj);
}
0 голосов
/ 05 марта 2020

Надеюсь, это поможет вам.

   global $woocommerce;
    $items = $woocommerce->cart->get_cart();

        foreach($items as $item => $values) { 
            $_product =  wc_get_product( $values['data']->get_id()); 
            echo "<b>".$_product->get_title().'</b>  <br> Quantity: '.$values['quantity'].'<br>'; 
            $price = get_post_meta($values['product_id'] , '_price', true);
            echo "  Price: ".$price."<br>";
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...