第二回:検索機能を自作(しっぱい)

~終わらない検索実装、答えの出ないアンサー編~

~これまでのあらすじ~

ブログを自作した、色々弄った、検索機能に不満、カスタム、壊れた

じいしきちゃん

いど

いど
いど

じいしきちゃん、検索機能息してないんだけど何したの

じいしき
じいしき

ぴひゅ~♪

じいしき
じいしき

勝手におかしくなっちゃったの
でも、かろうじて息は吹き返してるはずだよ。

イラストサイトを作るにあたり、小説家になろうのような検索できる機能はロマンだろうと思い実装しようとしました。色んな解説サイトを参考にし、形にはなったのですがもうどうしようもなかったのでチャットGPT にぶち込みました。AIのてをたよってしまった。

以下、失敗点

CASE1:受け渡しされない値

ウディタやユニティを弄ったことがあったので代入とかは知ってたのですが、なにぶん遊んでいたのは昔のことで記憶があやふやでした。値をぶち込んだコモンA→データベース→値を受け取るコモンB。これを値をぶち込んだコモンA→データベース→値を受け取るコモンB、みたいな馬鹿なことをやってました。

この理解であってるかわかりませんが、選択フォームで受け取った値をどこにも代入せずしかもどこにも受け渡ししてなかったので一向に検索機能は動きませんでした。GPT君も渡したやつを元にイイ感じで整えてくれるっていうか、的確に指示しないと付け足しとかしないんでね。

代入を忘れてたことに気づき、代入したあとも受け渡しを忘れ続け格闘していました。

CASE2:更新されない項目、表示されないタグ

名義によって表示される項目選択の内容を変えたくて色々しましたがJavasprict使わないと無理な…の?

カスタムタグ一覧の中身が永遠に表示されず困っていたら、カスタムタグのスラッグ名を指定し忘れていたんですって。ちゃんちゃん。

CASE3:拾われない投稿

めっちゃ解説見まくった。全然検索できねぇと思ってたらなんか行けた、なんで。

CASE4:カスタム投稿を拾わない検索

でもカスタム投稿なるものを知って、イラストの記事をカスタム記事に切り替えたので再び検索できなくなりました。絶望を知りました。とりあえずイラストのカスタム投稿のみ拾ってくれればいいので、samplepost(ポストスラッグ、例えばの名前)だけを参照するようにしました。

カスタム投稿を指定してるのに、カスタムカテゴリーを指定してるのに、カスタムタグを指定してるのにやっぱり永遠に読み込まず。何度もスラッグ名を確認しましたが。結局、検索フォームでの値の取得し忘れと受け渡し忘れでした。

CASE5:カテゴリーAの記事が不法侵入してくるカテゴリーBの検索結果

検索フォームを

・名義がすけろく小僧のときにカスタムカテゴリー1の中の子カテゴリーABCを選べる

・名義が家畜のしょうちくのときにカスタムカテゴリー2の中の子カテゴリーXYZを選べる

・カスタムタグは上2つで共通

という感じにして

名義がすけろく小僧のときにはもう一方の名義のカテゴリーに入ってる記事を表示しない、取得しないようにしたかったのですが、なぜかどうやっても混ざり込むので頭を抱えていました。カスタムカテゴリーsamplebox(タクソノミースラッグ、例えばの名前)を指定すれば子カテゴリーも指定されるもんだと思い込んでたのですが、子カテゴリーも含めなきゃいけなかったんですね。へけ。

CASE6:再度の不法侵入、カテゴリーAの記事の主張が激しいカテゴリーBの検索結果

だがしかしカスタムタグを共有してしまったがために、同じタグを持つ別名義の投稿が表示されてしまうという悲劇が起こってしまったのでした。

考えに考えた結果、コードは上の行から発動するのでタグで一度検索をかけて、そのあとカテゴリーでふるいにかけちまえばいいのだ!とてんさいのはっそうをおもいつきました!なのでタグで一度検索をかけ、その結果をもとに再度カテゴリーで検索をするというコードをgpt君にたの…いえ自分でや…結局GPT君にぶち込んだのですが、上手くいかず。冷静に考えてコードは上から発動するんだからタグの処理を上に置くだけでよくねということに気づいてしまいました。いさんて。

CASE7:空白の検索結果、失われた3週間

お次は検索結果が該当するのに表示されず発狂していましたが、それは普通に自分で検索結果の取得の部分を消していたからでした、簡単ッ簡単ッ!!

CASE8:偏りまくりの画面、絶対に整わない検索結果

表示のコード自体は大まかにあったというか、カスタム投稿用の検索機能になる前のものを使おうとしました。ちゃんと表示されませんでした。カード型リストにして並べていたのになぜか、本文が表示されてしまうので考えあぐねました。あとなんか凄い表示崩れる。めっちゃ画面が左に寄ってる。

カスタム投稿の設定にサムネイルの項目付けるの忘れてました!

ヘッダーとフッター消してました!!

ブログテーマのウィジェット設定でサイドバーの中に以前、検索窓を入れてた名残の空っぽカラムが落ちてました!!!

CASE9:フッターの下の空白があるサイト

追記です、忘れてた。検索したあとにフォームを呼び出して、続けて検索できるようにしたんですが、記事が少なすぎて、該当する検索が無かったときなどフッターの下に空白ができてしまいました。どうすればいいかわからなくて検索したらCSSでフッターを下に強制表示させるコードがあったのでそれを使っていたんですが、次はフッターが記事の上に被さって画面が見にくくなるという問題が出てしまったんです。

解決方法は検索フォームの下や記事表示の下、該当しないメッセの下に空白を表示してやることでした。

もっとスリムなやりかたがあると思うんだけどこれ以外思いつかなかった。以上。

CASE???:ページドネーションのその先へ

検索結果の表示がマトモになったところで最終チェックに入ろうとしたところ、取得した記事が全権表示されていないという大問題が発覚しました。意味が分かりません。調べたら恐らく画面表示の問題だったのでphpに21件表示してくださいとお願いしました。ページドネーションもつけて21件目以降は繰り越し表示にしようと思ったのですが、そこは何も解決してません。

じいしき
じいしき

以上、じいしきちゃんによる失敗まとめでした!

いど
いど

なげぇ

\ 結論 /

金を積んでプラグインを買うか、プログラマーに頼もう!!

悔しいのでひとまずは図書館で本を借りてこようと思います。

error: コピーできないのだ