queryId (クエリーID)について

Moneのテンプレート内のqueryIdは62から始めています。

61個もクエリーを配置しないだろうということと、テーマ名Moneに無理やり語呂を合わせて決めました笑

Mone
も→むに近い む = 6
ね→「に」と音が近いことから2
で62から始めています

なぜこのような仕様にしているのか?

queryIdはテンプレート内に存在してURLクエリーに入ってきます。

そのため固有の値にする必要があります。

パターンなどで配置した際はエディター内で固有の値になるのですが、ページにレンダリングされたときにテンプレートパーツなどを使うと被る可能性があります。

しかしqueryIdを設定しないと、リロードなしでページネーションが出来ないため、queryIdをテンプレート内に設置する形にしています。

ちなみにクエリーブロックはコピペでは使わないほうが良いです。なぜならqueryIdが被ってしまうことがあるからです。

クエリーループなどのサイト全体の固有のid問題についてはGutenbergの根深い問題なので解決するソリューションが思い浮かんだ方は以下のissuesにコメントすることをお勧めします。

Block API: Allow for internal, non-duplicable block attributes · Issue #29693 · WordPress/gutenberg · GitHub

What problem does this address? Blocks cannot use attributes to store information that is uniqu…

(個人的にはoptionsなどのDBにデータ保存するしかないのかなと思っています。。。そうなると互換性保てるのか?)