こんにちは
再利用ブロックやショートコードの内容は標準の機能では検索できません。WordPress (Gutenberg) の仕様(下記ページを参照)のようです。
https://github.com/WordPress/gutenberg/issues/10307
こんにちは、
テストしていないので、あれなんですけど pattern 使ってみるとどうですか、
patternだと、結果を投稿にペーストする動作になるので、、、
ishitaka (@ishitaka)さん
ご返答ありがとうございます。
仕様でしたか。
私もこの質問者様と同じように、以前はできていたように記憶しておりました。
ちなみにもしわかれば・・・
管理画面の投稿一覧「投稿を検索」のボックスに入れた場合も同様にヒットしない仕様でしょうか?
よろしくお願いいたします。
nobita (@nobita)さん
ご返答ありがとうございます。
なるほど、パターンを編集して使えるプラグインがあるのですね。
Cocoonを使っていたので、編集できないものと思っていました。
再利用ブロックのように全記事へ反映させたいので悩みどころです・・
ちょっと時間があったので、テストしてみました :)
おさらい、たしか、WordPressの検索は投稿タイトルと、投稿コンテンツ内にある文字列を検索するだけの、単純なものだったと思います。つまり、ショートコードや再利用ブロックは、コンテンツの文字列としては存在しません。
間違っていたら、指摘していただけると嬉しいです。
例えば、ショートコードなら、[lorem]
( loremというショートコードの場合 )
再利用ブロックなら、<!-- wp:block {"ref":81416} /-->
といった形で、投稿本文に保存されるので、検索をかけても、ヒットしません。
ヒットさせるためのキーワードは、[lorem]
とか "ref":81416
になるわけです。
これをヒットさせるようにするには どうしたらいいか?
ショートコードの実行結果、再利用ブロックの実行結果を投稿に挿入できるような形にしてやれば、検索可能になります。
で、patternを使ってみてはどうでしょうか と書いたわけです。
そのやり方は、テーマのpatterns ディレクトリに、reusable-test.php を作成して以下のコードを記述します。
<?php
/**
* Title: Reususable test
* Slug: emulsion/reusable-test
* Categories: contents, emulsion, recently-added
* Inserter: yes
* Keywords: shape
* Description: Searchable reusable block
*/
echo do_shortcode( '[lorem]' );
echo do_blocks('<!-- wp:block {"ref":81416} /-->');
このようにすると、ショートコードの結果を投稿にペーストできます。再利用も同様に結果を張り付けられます。
ちょっとした、実験のコードなのでもっといい書き方はあると思いますが、参考になればうれしいです。
追記:スラッグの emulsion の部分は、あなたのテーマのスラッグに置き換えてください。そうしないとコードは動作しません。
あ、もっと簡単に「通常のブロックに変換」でいいのかも、、、
「全記事へ反映」ではなくなるけど、、、
nobita (@nobita)さん
ありがとうございます!
ショートコードコマンドで検索は、管理画面でもきちんとヒットしておりました。
おっしゃる通り、「通常のブロックに変換」だとヒットするのですが、全記事修正の必要があるのでせっかくの利便性が犠牲になるのが残念ですT_T
追記ですが、サイト内検索の仕様が変わったのかもしれません。アプデの影響?
今他サイトでもテストしてみましたが、
– サイト内に検索ワードを入れる
– 検索結果の記事を開く
– 記事内で「command+F」で検索ワードを探しても見つからない
という不具合がありました。
自サイトで試したところ、再利用ブロックとの因果関係はなさそうです。
本トピックでご回答いただいた「再利用ブロックの仕様でヒットしない」ことに加えて、
本件はもしかしたら検索ボックスの仕様変更やバグが出ているのかもしれません。
「検索ボックスで検索したのに、肝心のワードが含まれていない記事がヒットする。」
読者に不便なので、バグなら報告したいですが私では原因がわかりませんでした。。
ごめんなさい、パターン使っても全記事修正はできませんね。思い付きで、おかしな回答してしまいました。
@ishitaka さんのおっしゃる通り、簡単に解決するのは難しいのかもしれません。
「検索ボックスで検索したのに、肝心のワードが含まれていない記事がヒットする。」
<!-- wp:*** {"***":"***"} /-->
などとして、テキストを含まないブロックタグもたくさんあるので、そういったものがげんいんになっているのかもしれないですね。
とんでもありません。
検証までいただきありがとうございました。
テキストを含まないブロックなんてあるんですね。
これは解決に時間がかかりそうなので放置しかありませんねT_T
丁寧にご対応いただきありがとうございました。
助かりました。