Получить информацию о продуктах через get_post_meta () - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь получить метку надстройки (WooCommerce Product Addon) для пользовательского представления, я получаю сериализованный массив из БД с помощью get_post_meta (), но unserialize () выдает bool (false).

    $ProductMeta = get_post_meta($ParentProductID);
    $addons = $ProductMeta['_product_addons'];
    echo var_dump($addons);

Результат из приведенного выше кода:

array(1) {
  [0]=>
  string(530) "a:1:{i:0;a:16:{s:4:"name";s:6:"Extras";s:12:"title_format";s:5:"label";s:18:"description_enable";i:0;s:11:"description";s:0:"";s:4:"type";s:8:"checkbox";s:7:"display";s:11:"radiobutton";s:8:"position";i:0;s:8:"required";i:0;s:12:"restrictions";i:0;s:17:"restrictions_type";s:8:"any_text";s:12:"adjust_price";i:0;s:10:"price_type";s:8:"flat_fee";s:5:"price";s:0:"";s:3:"min";d:0;s:3:"max";d:0;s:7:"options";a:1:{i:0;a:4:{s:5:"label";s:14:"Add Prosciutto";s:5:"price";s:1:"3";s:5:"image";s:0:"";s:10:"price_type";s:8:"flat_fee";}}}}"
}

Затем я попробовал функцию unserialize () следующим образом:

    $ProductMeta = get_post_meta($ParentProductID);
    $addons = $ProductMeta['_product_addons'];
    $addons = unserialize($addons);
    echo var_dump($addons);

И результат для этого:

bool(false)

1 Ответ

1 голос
/ 01 апреля 2020

Возвращаемое значение было массивом с одним элементом, но вы попытались десериализовать весь массив, вам нужно настроить таргетинг на этот элемент, как этот unserialize ($ addons [0])

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