gpt4 book ai didi

php - WooCommerce 序列化 wp_postmeta 表中的元值数组

转载 作者:行者123 更新时间:2023-11-29 07:22:29 27 4
gpt4 key购买 nike

我正在通过 SQL 插入项目和属性。一切正常,但我无法弄清楚 wp_postmeta 中的 _product_attributes

我理解逻辑,除了 s:7:"pa_hrup"<-- 我从哪里得到 7和 s:31:"pa_kapaciteta-rezervoarja-za-go"<-- 我从哪里得到 31..

a:2:{s:7:"pa_hrup";a:6:{s:4:"name";s:7:"pa_hrup";s:5:"value";s:0:"";s:8:"position";i:0;s:10:"is_visible";i:1;s:12:"is_variation";i:0;s:11:"is_taxonomy";i:1;}s:31:"pa_kapaciteta-rezervoarja-za-go";a:6:{s:4:"name";s:31:"pa_kapaciteta-rezervoarja-za-go";s:5:"value";s:0:"";s:8:"position";i:1;s:10:"is_visible";i:1;s:12:"is_variation";i:0;s:11:"is_taxonomy";i:1;}}

最佳答案

它是一个元数据字符串序列化数组s:31是本例中pa_kapaciteta-rezervoarja-za-go的长度. a:6 是每个数组 (或子数组) 的 ok 键/值对项数。

序列化数组:

  • 始终以 a: 开始数组,加上其中的项键/值对的数量和 :
  • 然后 { 项目开始
  • 然后 s: 为字符串,加上字符串项(键或值)的长度和 :,加上键或值字符串。
  • 然后 ; 分隔每个键或值组件
  • 然后 项目结束

序列化数组,可以使用 WordPress 反序列化 maybe_unserialize() (或 PHP 中的 unserialize())
普通数组 可以使用 WordPress 序列化 maybe_serialize() (或 PHP 中的 serialize())

像 add_post_meta() 或 update_post_meta() 这样的 Wordpress 函数总是会在将 meta_value 保存到 wp_postmeta 表之前序列化一个数组。

WooCommerce 的一些相关 WC_Data 方法与 CRUD Objects 上的 save() 相同。以及所有相关的数据存储类。

使用 maybe_unserialize()在您的序列化字符串数组上将给出:

$values = array( 
'pa_hrup' => array(
'name' => 'pa_hrup',
'value' => '',
'position' => '0',
'is_visible' => '1',
'is_variation' => '0',
'is_taxonomy' => '1'
),
'pa_kapaciteta-rezervoarja-za-go' => array(
'name' => 'pa_kapaciteta-rezervoarja-za-go',
'value' => '',
'position' => '1',
'is_visible' => '1',
'is_variation' => '0',
'is_taxonomy' => '1'
)
);

关于php - WooCommerce 序列化 wp_postmeta 表中的元值数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55509075/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com