ナレッジ
Myページ

ナレッジ・ベース

通知設定
通知
guest
0 コメント
古い順
新着順
Inline Feedbacks
View all comments
リクエスト
編集中
修正依頼
有効
精査中
無効
About
JetEngineのCustom Meta Storage for CPTについて
2024-11-20
UITS_system

久しぶりにサイト構築の機会がありJetEngineを触っていたところ、『Custom Meta Storage (Beta)』なるものに気づきました。メタフィールドのストレージをデフォルトのpostmetaテーブルとは切り分けるという新機能らしいです。

いつのまに・・・
Chat GPTに聞くと2022年と言い張りますが、CrocoBlockの記事『How to Create Custom Meta Storage for CPT — JetEngine | Crocoblock』が2024年の8月、記事内動画が7、8月くらいなので、おそらくは2024年夏、つい最近のことだと思います。

これは画期的です。

CPTやカスタムメタフィールドのデータは表面上分けて管理されていますが、裏側では分けられておらず、すべてのデータがデフォルトの投稿と同じpostmetaテーブルに格納されていました。このためデータ数が多くなってくるとpostmetaテーブルを参照する回数が膨大となり読み込み速度に影響を与える問題がありました。

そこでCrocoblockが提唱・提供を始めたのがCCT(カスタム・コンテンツ・タイプ)。postmetaとは切り離されたテーブルにデータを格納するので読み込み負荷を低減するのですが、複雑な構成を作ろうとするとやや面倒でした。具体的にはCCTではコンテンツごとにシングルページを持ちません。『Has Single Page』機能を有効にすることでCPTと同期する形のシングルページを持たせることもできますが、Dynamic Fieldで値を呼び出すときや、Form Builderでフロントエンドから記事を投稿させるときのForm関連付けなど、とにかくマニアックで面倒くさく大変でした。

RelationsでCCTに親子関係を持たせると更に大変です。Dynamic Fieldでは、current CPTから関連CCTを呼び出し、そのCCTの親あるいは子CCTが持つMeta Fieldを取りに行くので処理が大変複雑です。

今回のこの『Custom Meta Storage』は、上記の問題を解決する手段として用意されたと思われます。

これにより、

  • シングルページを持たせたい
  • カテゴリーやタグなどTaxonomiesによる管理を行いたい
  • 『読み込み不可を最小限にしたい』
  • 親子関係を持たせる

このような場合はCPT『Custom Meta Storage』を選択、

  • シングルページ不要
  • Taxonomiesによる管理を行わない
  • 親子関係なし

このような場合はCCT。

といった切り分けとなってくるでしょう。

 

ただ、まだ日が浅く、何よりBeta機能となっておりますので、すぐに飛びつくのは時期尚早かもしれません。具体的には次のような問題が生じる可能性があります。

  • 従来のCPTを『Custom Meta Storage』に切り替えた場合、新たなデータから切り分けられたデータベースに格納されますので、Dynamic Fieldで値を呼び出している場合、どちらに見に行ってよいかわからず問題が発生する可能性があります。
  • まだ日が浅いので、Dynamic Fieldでの呼び出しやForm Builderとの関連付けが思い通りいかない部分があるかもしれません。またBeta機能ですので、構築した後に仕様が変わり機能しなく恐れがあります。

十分な経験があり自己処理できない方は、Betaが外れてから使用した方が良いでしょう。特に、従来のCPTを『Custom Meta Storage』に切り替えるようなことは、何が起きるか分かりませんのでおすすめしません(私はクライアントのサイトなど大事なデータでは絶対に行いません)。

あともう一つ。
JetEngineでは、MetaデータをCPTごとに直接作成する場合と、Meta Boxesに作成してCPTと関連付ける方法が用意されています。『Custom Meta Storage』は、CPTに直接作成する場合にのみ提供されており、Meta Boxesに作成する場合は従来通りpostmetaテーブルに格納されてしまいますので覚えておきましょう。

以上、JetEngineの『Custom Meta Storage』についてでした。

 

 

 

 

 

 

 

弊社はCrocoblockのアフェリエイトプログラムに参加しています

弊社の記事を読んでCrocoblockのJetEngine他Jetシリーズプラグインに興味を持たれたお客様。下のバナーからCrocoblockページを開いてご検討いただけますと幸いです。

※弊社のアフェリエイトリンクです。Cookieの同意が表示されますので『Accept all』をクリックお願いいたします。

種類が多く必要なものがどれか分からないというお客様

お客様の目的をお聞かせいただき、最適なプランをご紹介(無料)いたします。お気軽にご相談ください。









使

植田屋ITソリューション - 急募
修正依頼
修正依頼はありません

当記事に誤りや不足がございましたでしょうか。
ご指摘いただけますと幸いです。よろしくお願いいたします。

タイトル *
内容 *
修正が必要な箇所やその理由などをお伝えください
  • 修正依頼のタイトル及び内容は公開されます。
  • タイトル及び内容は編集させていただく場合がございます。
  • 送信の内容に関しご連絡させていただく場合がございます。
  • 修正依頼への対応が意にそぐわない場合もございますこと予めご承知おきください。
0
Would love your thoughts, please comment.x