Wordpress:根据另一个自定义字段的值替换自定义字段的值

时间:2012-06-22 19:58:39

标签: php mysql wordpress custom-fields

我正在为我的网站编写一个wordpress插件,该插件根据同一帖子下的另一个自定义字段的值替换(或添加,如果它为空)自定义字段的值。

实施例: 我将有一个逗号分隔值的列表:

苹果,红 香蕉,黄色 猕猴桃,绿色 等

当我运行脚本时,它会找到一个包含custom_field_fruit的帖子,其值为“apple”,并且当然会在同一帖子中将custom_field_color的值更改为红色。然后,它将处理列表的第二行并找到包含custom_field_fruit = banana的帖子,并将更改custom_field_color = yellow等。

所以,我需要帮助解决困难的问题。我认为这比Wordpress甚至PHP问题更多是mySQL问题。我分配了两个变量$ VALUE1和$ VALUE2(水果,颜色)。我是否完全使用mySQL查询来替换字段?

如果是这样,有人可以将此转换为mySQL查询吗? 查找custom_field_fruit为$ VALUE1的帖子,并在同一帖子下用$ VALUE2替换custom_field_color的值。

我对如何做到这一点的任何想法表示赞赏。谢谢。

1 个答案:

答案 0 :(得分:0)

我认为混合使用PHP和SQL可以更好地解决问题。这是我的尝试。字典应该由其余的键值对填充:

$dict = ["apple" => "red",
         "banana" => "yellow"];

foreach ($dict as $fruit => $color)
    mysqli_query("UPDATE wp_posts 
                  SET custom_field_color = '$color' 
                  WHERE custom_field_fruit = '$fruit'");

您甚至可以批量处理,而不是逐行处理!