php - 如何动态更新 wp_options 序列化数组中的帖子 ID?
问题描述
我正在尝试向 WordPress/WooCommerce 免费插件添加额外的功能,但我被卡住了。我希望我能正确解释,因为我不是开发人员。
该插件将所有数据(产品选项)存储在 wp_options 表中的专用索引中,作为序列化数组。
我想要做的是根据复选框的状态创建/读取/更新/删除此数组中的产品 ID。类似于: - 如果此产品有此选项,则显示勾选的复选框 - 如果没有,请在勾选复选框时将此选项添加到此产品 - 取消勾选复选框时从此产品中删除此选项。
但我注意到插件在同一个数组中的两个位置疼痛,这里[conditional_rules_json] => [[[{"subject":"product","comparison":"equals","cvalue":["11","20"]}]]]]
和这里
[value] => Array (
[0] => 11
[1] => 20
).
11
并且20
是现在使用此选项的产品的 ID。
我不明白我应该如何根据复选框的状态更新 ID。我应该在两个位置更新它还是只在一个位置更新它?我该怎么做?str_replace?
a:1:{s:29:"woo_before_add_to_cart_button";a:1:{s:6:"colour";O:26:"WEPOF_Product_Field_Select":27:{s:5:"order";i:0;s:4:"type";s:6:"select";s:2:"id";s:6:"colour";s:4:"name";s:6:"colour";s:5:"value";s:0:"";s:11:"placeholder";s:0:"";s:7:"options";a:3:{i:0;s:3:"Red";i:1;s:5:"Green";i:2;s:4:"Blue";}s:9:"validator";s:0:"";s:8:"cssclass";s:0:"";s:12:"cssclass_str";s:0:"";s:5:"title";s:0:"";s:11:"title_class";s:0:"";s:15:"title_class_str";s:0:"";s:14:"title_position";s:7:"default";s:8:"required";s:3:"yes";s:7:"enabled";s:3:"yes";s:8:"position";s:29:"woo_before_add_to_cart_button";s:22:"conditional_rules_json";s:72:"[[[[{"subject":"product","comparison":"equals","cvalue":["11","20"]}]]]]";s:17:"conditional_rules";a:1:{i:0;O:24:"WEPOF_Condition_Rule_Set":2:{s:5:"logic";s:3:"and";s:15:"condition_rules";a:1:{i:0;O:20:"WEPOF_Condition_Rule":2:{s:5:"logic";s:2:"or";s:14:"condition_sets";a:1:{i:0;O:19:"WEPOF_Condition_Set":2:{s:5:"logic";s:3:"and";s:10:"conditions";a:1:{i:0;O:15:"WEPOF_Condition":3:{s:7:"subject";s:7:"product";s:10:"comparison";s:6:"equals";s:5:"value";a:2:{i:0;s:2:"11";i:1;s:2:"20";}}}}}}}}}s:8:"name_old";s:0:"";s:12:"position_old";s:0:"";s:11:"input_class";s:0:"";s:9:"minlength";s:0:"";s:9:"maxlength";s:0:"";s:4:"cols";s:0:"";s:4:"rows";s:0:"";s:7:"checked";i:0;}}}
解决方案
推荐阅读
- python - 美丽的汤提取物循环
- java - Java Reactor中阻塞调用后如何重新抛出错误?
- javascript - 在锚标记触摸加载新网页之前运行屏幕触摸事件
- node.js - mongodb插入对象数组
- android - Viewpager 视图出现并在几分之一秒后显示为空白
- python - 用于 apache 部署的 Django 静态目录
- python - Scraper 只打印最后一页数据而不是所有页面 - BS4
- javascript - 如何在 JSON 数组中推送多个键值
- c# - 如何等待多个 IAsyncEnumerable
- bash - BASH:在文本之间查找换行符并用两个换行符替换