サポート » 使い方全般 » selectフォームを使ったカテゴリ一覧表示

  • お世話になります。

    今回お聞きしたいのはselectフォームを使ったカテゴリ一覧表示の作り方についてです。

    カテゴリ名と年のカテゴリ一覧を作りたいと思っていますが、データの受け渡し方がよくわからず行き詰っています。

    現在簡単なHTMLで以下のようなフォームを作っていますが、PHPをどこにどう埋め込むか、またwordpressのタグをどこにどう埋め込むかがわかりません。

    <select size=”1″ name=”category”>
    <option value=”1″>カテゴリ名1</option>
    <option value=”2″>カテゴリ名2</option>
    <option value=”3″>カテゴリ名3</option>
    <option value=”4″>カテゴリ名4</option>
    </select>

    検索結果には現在使っているテンプレートの『search.php』ファイルを使いたいと思っています。PHPは記述できるプラグインは入れてあります。

    一応調べてみたのですが、テキスト検索をカテゴリで絞り込む方法について書かれていることが多く、該当するやり方がみつけられなかったのでこちらで質問させていただきました。

    カスタマイズにまだなれておらず、ご教授頂けますと助かります。

    どうぞよろしくお願い致します。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • こんにちは

    質問の趣旨とは、ちょっと外れるかもしれませんが、既存のカテゴリウィジェットを、カスタマイズして表示を変更する事が出来ます。

    通常では、アーカイブウィジェットでは月別表示になりますが、フィルタを使う事で、年次アーカイブを表示したり出来ます。

    私のメモですが、
    http://tenman.info/labo/snip/?p=2803

    ドロップダウンリストの場合は、検証していませんが、

    フック、widget_archives_args を widget_archives_dropdown_args に置き換えるといいかもしれないです。

    トピック投稿者 horizon58

    (@horizon58)

    ご返信ありがとうございます。

    dropdownを使ってセレクトボックスを作る方法もあるようですね。

    これは検索で結構出てくるので知っていました。

    多分この方法で実現できるのだと思いますが、今回はあえてselectタグとwpタグを組み合わせたもので(勉強も兼ねて)作りたいと思っています。

    ただ便利な機能ですので、今回のものが実現できたらその後はdropdownを使用してみたいと思います。

    ありがとうございます。

    トピック投稿者 horizon58

    (@horizon58)

    どなたかわかる方いらっしゃいましたら、お願いします。

    多分この方法で実現できるのだと思いますが、今回はあえてselectタグとwpタグを組み合わせたもので(勉強も兼ねて)作りたいと思っています。

    勉強をかねて、という事のようなので、

    まず、horizon58さんのやりたい事は、投稿のテキストエリアにコードを記述して、カテゴリのセレクトボックスの付いたフォームを作成し、検索を行いたいという事だと理解していますが、それでいいですか?

    であれば、まず最初に試してほしい事は、

    通常の検索機能で、何か一つの、カテゴリを指定して検索してみてください。

    検索は出来ますか?

    たぶん検索できないと思います。

    次に、PHPが記述できるプラグインで、何かしらの、phpコードを記述していただき、投稿に、実行結果が表示されたら、

    投稿を、エクスポートし、インポートしなおしたりしてみてください。

    正常に、インポートやエクスポートが出来、コードの実行結果に問題は出ませんか?

    投稿画面で、直接PHPコードを記述可能にするプラグインは、便利だと思いますが、horizon58さんが、そのスタイルでカスタマイズを継続していき、何らかの理由でエクスポートや、インポートの処理をしようとした時には、正しくそれらの作業が実行できなくなるなどの、問題が発生する可能性があります。

    標準でカテゴリ検索機能が備わっていない。また、標準的ではないプラグインの機能拡張に依存した方法で、カスタマイズを行う方法に慣れた人は、それほど多くはないので、多分まだ回答が付かないということではないかと思います。

    トピック投稿者 horizon58

    (@horizon58)

    すみませんがちょっと内容を理解できないので、できればコードを付けて投稿していただけるとありがたいです。

    あともしやり方がかわらないのであれば、無理に投稿していただかなくても構いませんので。

    モデレーター Takuro Hishikawa

    (@hissy)

    難しくお考えになっているようですが、単にname属性をcatにするだけでカテゴリーで絞り込み検索できますよ。WordPressには内部的にカテゴリ検索機能を持っていますので。

    <form method="get" action="<?php echo esc_url( home_url( '/' ) ); ?>">
    	<input type="text" name="s" value="<?php the_search_query(); ?>" />
    	<select name="cat">
    		<option value="">カテゴリーで絞り込み</option>
    		<?php
    		$current_cat = get_query_var('cat');
    		$categories = get_categories();
    		if ( $categories ) {
    			foreach ( $categories as $category ) {
    				printf(
    					'<option value="%d" %s>%s</option>',
    					$category->cat_ID,
    					selected( $category->cat_ID, $current_cat, false ),
    					$category->name
    				);
    			}
    		}
    		?>
    	</select>
    	<input type="submit" name="submit" value="検索" />
    </form>
    モデレーター Takuro Hishikawa

    (@hissy)

    ああ、「テキスト検索をカテゴリで絞り込む」わけではないのか。勘違い。
    なぜ search.php を使いたいのでしょう? category.php でいいような気がします。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「selectフォームを使ったカテゴリ一覧表示」には新たに返信することはできません。