[WordPress] ACFでカスタム分類のカスタムフィールドの値を更新する方法
作成日:
2014年2月16日
Advanced Custom Fields(ACF)でカスタム分類に設定したカスタムフィールドの値をphpで更新する方法は無いものかと探しておりました。
ACF | update_field()
http://www.advancedcustomfields.com/resources/functions/update_field/
Description Updates the value of a specific field. Parameters update_field($selector, $value, ); $selector (string) (Required) The field name or field
パッと見た時に、パラメータが「$post_id」とあるので、記事以外のカスタムフィールドの値を更新する際には別の方法を用いる必要があるのかと考えこんでおりましたが、
と、ちゃんと書いてありました。
カスタム分類のIDを入れてもちゃんと動きました。
この時、ただIDを入れるのではなく、サンプルコードにあるように「(カスタム分類名)_ID」とする必要があります。
PHP
/*
* add a repeater row on a taxonomy!!!
*/
$field_key = "repeater_field";
$post_id = "event_123";
$value = get_field($field_key, $post_id);
$value[] = array("sub_field_1" => "Foo", "sub_field_2" => "Bar");
update_field( $field_key, $value, $post_id );
通常、カスタムフィールドの値を更新するだけであれば、ACFの関数を使わなくても、
関数リファレンス/update post meta - WordPress Codex 日本語版
http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/update_post_meta
でいけるのですが、記事以外にカスタムフィールドを付ける場合、値は「wp_postmeta」ではなく、「wp_options」に保存されるので、扱いが変わってくる事になるのでしょうが、ACFはその点もちゃんと踏まえてくれています。
物草 灸太郎
WordPressでホームページを制作しつつ、休日は畑を耕したりDIYを楽しんでいます。
関連投稿
Loading...
コメントをどうぞ