質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

927閲覧

検索フォームの仕組みが分かっていない。検索結果を表示させたい。

tooju

総合スコア15

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2021/04/28 09:21

編集2021/04/28 09:34

現在、wordpressで作ったサイトに、自作のcontactformで検索フォームを作ろうとしています。(*wordpress、仕事の現場で使えるデザイン教科書参照)。
しかし、テキスト通りにformの見た目部分(cssは反映していない)を作ることはできたのですが、記事の名前、例えば「一つ目の記事」というふうに書き込んでエンターを押しても、トップページに行くだけです。formのactionの部分には、トップページへのパスを書けというように書かれていたのですが、肝心の記事の絞り込みができません。serch.phpに記述しているsection内のroop投稿された記事を、検索フォームで絞り込めるようにしたいです。どこの部分を追記、または編集した方がよろしいのでしょうか。教えていただけると幸いです。わかりづらい説明で恐縮ですが、何卒よろしくお願いいたします。
主に二つのファイルを使いました。
一つは固定ページの検索結果を表すsearch.php、
もう一つはformをパーツ化したsearchform.phpです。このsearchform.phpはパーツ化しており、headerの閉じタグ直前で呼び出しています。

serch.php

<?php get_header(); ?> <h2 class="pageTitle">サイト内検索<span>SEARCH</span></h2> <main class="main"> <div class="container"> <h2 class="main_title"><?php the_search_query(); ?>「キーワード」の検索結果</h2> <div class="row"> <section> <div class="sectionwrapper"> <ul class=" s-wrap"> <?php $args = array( 'post_type' => 'cardnews', //カスタム投稿タイプ名 'posts_per_page' => 3, // 表示件数 'paged' => $paged, ); ?> <?php $myposts = new WP_Query($args); if($myposts->have_posts()): while($myposts->have_posts()): $myposts->the_post(); $c = get_post_custom(); ?> <li class="list01"> <h3><?php the_title(); ?></h3> <div class="thumbnail"> <?php the_post_thumbnail('medium'); ?> </div> <div class="archivetext"> <p><?php the_time('Y.m.d');?></p> <p>サンプルテキスト。サンプルテキスト。サンプルテキスト。サンプルテキスト。サンプルテキスト。サンプルテキスト。</p> </div> </li> <?php endwhile; endif;?> </ul> </div> </section> </div> </div> </main> <?php get_footer();?>

続いて、パーツ化されたsearchform.php

<?php ?> <form action="/konoha/" method="get" class="header_search"> <input type="text" name="s" value="<?php the_search_query(); ?>" placeholder="キーワードを入力"> <i class="fas fa-search"></i> </form>

以上です。何卒よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

フォルダ構成やWordpressのルーティングが分からないのですが、
単純に考える可能性は、

html

1action="/konoha/"

html

1action="/konoha/serch.php" 2   もしくは、 3action="http://(ドメイン名もしくはサーバコンピュータ名)/konoha/serch.php"

のようにformのエレメントをserch.phpに送り込むやり方を試してみることです。
元のままだと、自動的にトップページの index.php 等にリダイレクトされると思います。

投稿2021/04/28 12:02

seastar3

総合スコア2287

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tooju

2021/04/28 14:20

ありがとうございます!ふたつともやってみたのですが、記事と売って検索すると konoha/kensakukekka/?s=記事 という風なurlになり、topまで飛んでいってしまいます。keasakukekkaは、スラッグとしてserch.phpを 登録しているものになります。他のものも試してみようと思います!ありがとうございます!
guest

0

自己解決

結果として予約語が含まれていたことによるエラーと判明
name="namae"と入力することで解決

投稿2021/05/02 01:28

tooju

総合スコア15

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問