Как получить доступ к защищенным данным в Woocommerce? - PullRequest
0 голосов
/ 21 января 2019

Я использую это для получения данных из последнего выполненного заказа:

<?php
function get_last_order_id(){
    global $wpdb;
    $statuses = "wc-completed";

    // Getting last Order ID (max value)
    $results = $wpdb->get_col( "
        SELECT MAX(ID) FROM {$wpdb->prefix}posts
        WHERE post_type LIKE 'shop_order'
        AND post_status IN ('$statuses')
    " );
    return reset($results);
}
$latest_order_id = get_last_order_id(); // Last order ID
echo ($latest_order_id);

$order = wc_get_order( $latest_order_id );
$order_data = $order->get_data();

print_r($order);

Однако данные, которые мне нужно получить, отображаются следующим образом:

[data:protected] => Array ( [id] => 3767 [key] => billing_name [value] => David) )

Я искал вопросы по StackOverflow по этому вопросу, но, к сожалению, я до сих пор не могу получить к нему доступ. У кого-нибудь есть идеи, как мне это получить? Заранее спасибо

1 Ответ

0 голосов
/ 21 января 2019
<?php
    function get_last_order_id(){
    global $wpdb;
    $statuses = "wc-completed";

    // Getting last Order ID (max value)
    $results = $wpdb->get_row( "SELECT MAX(P.ID) ,PM.meta_value as firstname
        FROM {$wpdb->prefix}posts AS P
        INNER JOIN {$wpdb->prefix}postmeta AS PM
        ON P.ID = PM.post_id

         WHERE P.post_type LIKE 'shop_order'
            AND P.post_status IN ('$statuses')
            AND PM.meta_key='_billing_first_name'" );
    return $results;
    }
    $latest_order_id = get_last_order_id(); // Last order ID
    $firstname = $latest_order_id->firstname;


    echo $firstname;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...