PHP と Typecho で記事検索機能を実装する方法
現代の Web サイトやブログでは、検索機能が非常に重要になっています。読者は検索機能を通じて興味のあるコンテンツを直接見つけることができるため、時間と労力を節約できます。この記事では、PHPとTypechoを使って記事検索機能を実装する方法とコード例を紹介します。
まず、Typecho がインストールされていることと、検索する記事がすでにいくつかあることを確認する必要があります。次に、検索結果を表示するために Typecho バックエンドにカスタム ページを作成する必要があります。
検索ページの作成
まず、Typecho バックエンドの「外観」→「ページ」をクリックし、「新規」ボタンをクリックします。ページ エディターで、ページのタイトルとコンテンツを入力します。たとえば、タイトルを「検索結果」と入力し、内容を空白のままにし、「公開」ボタンをクリックして変更を保存できます。
次に、[外観] -> [ナビゲーション] をクリックして、ユーザーが簡単にページにアクセスできるように、新しく作成した検索結果ページをナビゲーション バーに追加します。
検索機能の実装
次に、ユーザーが検索キーワードを入力して検索リクエストを送信できるようにする検索フォームを作成する必要があります。 Typecho テーマ フォルダーで、sidebar.php
ファイルを見つけて編集します。
次のコード スニペットをsidebar.php ファイルの適切な場所に追加して、検索フォームをサイドバーに追加します。
<form id="search-form" action="<?php $this->options->siteUrl(); ?>" method="post"> <input type="text" id="search-input" name="s" class="text" placeholder="请输入关键字" required /> <button type="submit" class="submit">搜索</button> </form>
このコードは、検索ボックスと送信ボタン フォームを作成し、フォームの action
属性を Web サイトのホームページ URL に追加します。ユーザーが検索リクエストを送信すると、フォーム データが POST 経由でホームページに送信されます。
次に、検索リクエストを処理し、ホームページ テンプレート (通常はindex.php) に検索結果を表示する必要があります。 Index.php ファイルの適切な場所に、次のコード セグメントを追加します。
<?php if ($this->is('search')) { $this->archiveTitle('搜索结果:', ',共找到 %d 篇文章'); } ?>
このコードは、検索結果ページのタイトル位置に「検索結果: キーワード」などの検索結果情報を表示します。合計 X 件の記事が見つかりました。「記事」(X は検索結果の数)。
最後に、検索結果ページ (前に作成したカスタム ページ) に検索結果を表示するコードを追加する必要があります。カスタム ページのテンプレート ファイル (通常は page-search.php) を見つけて編集します。
page-search.php ファイルの適切な場所に、次のコード セグメントを追加します。
<?php if ($this->have()): ?> <?php while($this->next()): ?> <article> <h2><?php $this->title(); ?></h2> <p><?php $this->date(); ?></p> <p><?php $this->content(); ?></p> </article> <?php endwhile; ?> <?php else: ?> <p>没有找到相关文章。</p> <?php endif; ?>
このコードは、検索結果があるかどうかを確認し、それに応じて表示します。検索結果がある場合は各記事のタイトル、日付、内容がループ表示され、検索結果がない場合は「該当する記事がありませんでした」と表示されます。
以上の手順で、記事検索機能の実装が完了しました。ユーザーは、Web サイトの任意のページのサイドバーにある検索フォームを使用し、キーワードを入力して検索リクエストを送信し、カスタマイズされた検索結果ページで関連記事を見つけることができます。
この記事が記事検索機能の実装に役立つことを願っています。プログラミングの頑張ってください!
以上がPHPとTypechoで記事検索機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。