我试图理解wordpress的行为。当我在管理面板中添加标签时,mysql会执行一系列查询。基本上:
更新wp_terms
更新wp_term_taxonomy
和
udate公司wp_options
使用此类查询
INSERT INTO `wp_options` (`option_name`, `option_value`, `autoload`)
VALUES (
\'project_location_children\',
\'a:7:{i:22;a:1:{i:0;i:23;}i:23;a:1:{i:0;i:24;}i:25;a:2:{i:0;i:26;i:1;i:32;}i:26;a:2:{i:0;i:27;i:1;i:31;}i:28;a:1:{i:0;i:29;}i:29;a:1:{i:0;i:30;}i:32;a:1:{i:0;i:33;}}\',
\'yes\'
)
ON DUPLICATE KEY UPDATE
`option_name` = VALUES(`option_name`),
`option_value` = VALUES(`option_value`),
`autoload` = VALUES(`autoload`)
谁能给我解释一下这个字符串的含义
a:7:{i:22;a:1:{i:0;i:23;}i:23;a:1:{i:0;i:24;}i:25;a:2:{i:0;i:26;i:1;i:32;}i:26;a:2:{i:0;i:27;i:1;i:31;}i:28;a:1:{i:0;i:29;}i:29;a:1:{i:0;i:30;}i:32;a:1:{i:0;i:33;}}
除了wp\\U term和wp\\U term\\u分类更新之外,为什么会有这样的事情?
Thanx公司
最合适的回答,由SO网友:kaiser 整理而成
唯一真正有趣的(和very important) 第三个查询的一部分是:
\'project_location_children\', \'a:7:{i:22;a:1:{i:0;i:23;}...etc...}}\'
a:n:{i:n; etc }
东西是serialized PHP array.由于某些历史原因,WordPress在每个分类术语的一个选项条目中跟踪术语子项。令人痛苦的是,很多人都不知道或忘记这一点。如果您忘记了这一点,那么真正注意到这种行为的唯一机会就是查看管理UI中的分类术语列表。在那里,如果你仔细观察,你会看到缺失的父母/子女关系。
经验法则:
手动将旧数据或第三方数据导入WordPress以及将其映射到分类法时do not forget 设置和/或更新此选项条目!
否则天空就会落到你的头上。