0

同じ投稿の下にある別のカスタム フィールドの値に基づいてカスタム フィールドの値を置き換える (または空の場合は追加する) 私のサイト用のワードプレス プラグインを作成しています。

例: 次のようなコンマで区切られた値のリストがあります。

りんご、赤いバナナ、黄色いキウイ、緑など

スクリプトを実行すると、その値が「apple」である custom_field_fruit を含む投稿が見つかり、もちろん同じ投稿で custom_field_color の値が赤に変更されます。次に、リストの 2 行目を処理し、custom_field_fruit = バナナの投稿を見つけ、custom_field_color = yellow などに変更します。

だから、難しい部分の助けが必要です。これはWordpressやPHPの質問よりもmySQLの質問だと思います。2 つの変数 $VALUE1 と $VALUE2 (果物、色) を割り当てます。フィールドを置き換えるには、mySQL クエリを使用してこれを完全に行う必要がありますか?

もしそうなら、誰かがこれをmySQLクエリに翻訳できますか? custom_field_fruit が $VALUE1 である投稿を見つけ、同じ投稿の下で custom_field_color の値を $VALUE2 に置き換えます。

どうすればそれができるかについてのアイデアは大歓迎です。ありがとうございました。

4

1 に答える 1

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'");

行ごとに処理する代わりに、一括で処理を行うこともできます!

于 2012-06-22T21:11:03.367 に答える