私のサイトでは、編集者はサイトのすべてのページに「バナー」画像をアップロードできます。しかし、検索結果ページをバックエンドページ(つまりexample.com/?s=searchtermに表示されるページ)にリンクする方法を理解するのに問題があります。
ユーザーがバックエンド管理者のページにバナーをアップロードして検索結果ページに表示できるように、バックエンドのページを検索結果ページに「リンクアップ」するためのヒントはありますか。
グーグルをしてWordpressのcodexでこのページを見つけました。 http://codex.wordpress.org/Creating_a_Search_Page 働いているようです。
任意の助けがいただければ幸いです。
ですから、私がよく理解していれば、特定のページを検索結果ページとして使用したいと思うでしょう。
検索ページにいるとき、現在のクエリはurl内の検索語によって作成されたものですが、特定のページを取得するにはそのページのクエリが必要なので、これは少し注意が必要です。
したがって、2つのクエリが必要です。これはパフォーマンスに関して理想的ではありません。おそらく、バナーをページにリンクする別の方法を使用すると、この問題をより効率的な方法で解決できます。
ただし、質問にお答えしましょう。
検索結果ページにいるとき、WordPressはsearch.php
テンプレートを使用して結果を表示します。 WordPressテンプレート階層 を参照してください。
search.php
が存在しない場合、テーマはindex.php
を使用して検索結果を表示しています。この場合、index.php
を複製してコピーの名前を変更しますsearch.php
:このように特定の検索結果のテンプレート。
サードパーティが開発したテーマを使用している場合は、 子テーマ ですべてを行うことをお勧めします。この方法で、テーマを更新するときに変更が失われることはありません。
バナーをページにどのようにリンクするかは言わず、バナーを注目の画像としてアップロードすると仮定します。異なる方法で(たとえば、カスタムフィールドを使用して)、それに応じてコードを編集します。
search.php
を開き、バナーの使用を表示する場所:
global $post;
$post = get_page_by_path('search');
setup_postdata($post);
// now the page with slug 'search' is treated as it was the current page
// so retrieve the banner just like you do in normal page
// I'll use page featured image
the_post_thumbnail();
wp_reset_postdata();
ここで、ダッシュボードに移動してページを作成し、それに「スラッグ」「検索」を割り当てる必要があります。タイトルとして「検索」を使用すると、そのスラッグは自動的に割り当てられます。
最後に、そのページにバナーを追加します。