サポート » プラグイン » Advanced Custom Fieldsで生成されるwp_postmetaのデータについて

  • Advanced Custom Fields 4.4.8を利用しています。
    wp_postmetaテーブルのレコードについて教えてください。

    https://support.advancedcustomfields.com/forums/topic/data-stored-in-the-database/

    上記サイトにあるように、一つのカスタムフィールドについて
    2レコードできるそうですが、wp_postmetaテーブルを検索すると、
    2レコードあるものとないものがあります。
    (meta_keyが_で始まるレコードがない。本来必要では?)

    同じ投稿種類(post)のレコードで、一つのフィールドに対して
    2レコードあるもの、1レコードのものに分かれています。

    ・サイトの動作に支障はないのですが、どういう状況でしょうか。
    ・プラグインの仕様が変わったのでしょうか。
    ・get_fieldを使用しない場合(get_post_metaで対応)、_付きレコードは削除してもいいのでしょうか。

    疑問に思った経緯はwp_postmetaテーブルがかなりの容量のため、
    不要なレコードがあれば削除したいと思ったことが発端です。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • Advanced Custom Fields によって追加されたレコードの場合、2つのレコードが作成されます。

    your_field: hogehoge
    _your_field: field_abcdefghij

    この例における、_your_field: field_abcdefghij がACFが独自に追加するモノです。

    カスタムフィールドには、ACF 以外によって保存される値なども多々あるので、その場合は、ここで言う1レコードのモノになります。

    投稿サムネイルなど、WordPress の標準の機能でも内部的にはカスタムフィールドを使用してるモノは多々あります。また、そういった機能は標準のカスタムフィールドの機能で変更されないように _ ではじまるkey を持ちます。

    なので、_ ではじまno meta_key のものすべてが ACF 由来のものということではないので、これでの一括削除は不具合を引き起こす可能性があります。

    meta_value が field_abcdefghij のような形式のものはACFが検索用に追加するレコードなので、ACFを使用しないということであれば削除しても問題はありません。ACFを使用しつづけるのであれば削除しない方が無難かとは思います。テーマ以外でもACF自身が管理画面などでこのレコードを参照しているかもしれませんし。

    トピック投稿者 tpg73

    (@tpg73)

    ご返信ありがとうございます。

    your_field: hogehoge
    _your_field: field_abcdefghij

    この例で言う、_your_fieldのレコード自体がある場合とない場合があります。

    複数の投稿記事があり、すべての記事に対してACFで作成したhogehogeというカスタムフィールドがあります。wp_postmetaに該当post_idのhogehogeレコードがありますが、_hogehogeは投稿記事によって存在したりしなかったりします。

    _hogehogeはACFによって常に自動で生成されるレコードかと思いましたが、そのようになっていないので質問させていただきました。

    投稿記事の作成方法によって、ACFの_your_field: field_abcdefghijができない場合があるのでしょうか。投稿記事のインポートはプラグイン「Really Simple CSV Importer」にてカスタムフィールドの値含めて毎月インポートしております。

    いずれにせよ、_your_fieldが正しくできているものに関しては削除しないでおきます。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「Advanced Custom Fieldsで生成されるwp_postmetaのデータについて」には新たに返信することはできません。