wp_options table value

时间:2014-09-25 作者:emanuele

我试图理解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公司

1 个回复
最合适的回答,由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 设置和/或更新此选项条目!

否则天空就会落到你的头上。

结束

相关推荐

Database Name Change

我读到,使用wp\\uu之外的其他东西作为数据库前缀更安全,所以我下载了我的数据库前缀wp\\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu