「ソート」というにはちょっと無駄があるかもしれませんが、
DBのwp_postsテーブルに「post_type」というフィールドがあり、「post」「page」などの値を持っているので
<?php if(have_posts()): while(have_posts()): the_post(); ?>
<?php if($post->post_type == "page"): ?>
記事コンテンツ
<?php endif; ?>
<?php endwhile; endif; ?>
<?php if(have_posts()): while(have_posts()): the_post(); ?>
<?php if($post->post_type == "post"): ?>
記事コンテンツ
<?php endif; ?>
<?php endwhile; endif; ?>
とすれば解決するのではないでしょうか。
1つ目のループでは「post」をフィルタリングして、2つ目のループでは逆に「page」をフィルタリングします。
あいだにrewind_posts()を入れてクエリを巻き戻す必要があるのかと思いましたが、なくてもいけるようです。
随分前の記事にご返信いただいて有難うございます。
私も最近調べなおしてみて、post_typeに行き着きました。ご提示いただいた方法も試してみたのですが、検索結果が1ページに収まらない場合、2ページ目にも「ページ→ポスト」と並んでしまい、思ったような結果が得られませんでした。
以下の記事で、検索時に振り分けられればと思ったのですが、返信いただいた方にご提示いただいた方法がまだうまく調べられていません。
http://ja.forums.wordpress.org/topic/584
検索結果がうまく分けられないようであれば、検索時にpost_typeで振り分けられればいいのかな、と思うのですが、まだうまくいっていません。むずかしいですねー(;;
問題解決にはほど遠いのですが、
「検索結果はページ分割しない」ように
query_posts($query_string.”&showposts=-1″)
というのはどうでしょう。
続けてdxd5001さんの解決法・・・
>> taikikenさん
こちらでもご返信有難うございますm(_ _)m
「検索結果はページ分割しない」ように
query_posts($query_string.”&showposts=-1″)
というのはどうでしょう。
これも自分の管理しているサイトの事情で恐縮なのですが、固定ページ数・投稿数とも多く、検索ワードによっては数十件引っかかってしまいます。ですので、やっぱり検索時に振り分けた方が解決策としてはベターかなと思っているのですが、引き続きうまくいかず^^;
検索時に振り分けた方が解決策としてはベターかなと思っている
わかりました。
引き続きうまくいかず^^;
何かお試しになっていることがあるのでしょうか?
できればお試しになったことをお書きになっていた方が良いかと思います、でないとお試しになって不採用のことも返信される可能性があります。
query_postsでorderby= post_typeができれば、かなりゴールに近づきそうですがお試しにはなりました?
何かお試しになっていることがあるのでしょうか?
色々調べてみているのですが、具体的に試していることはありません。
orderby=post_typeは、実現すれば求めている結果になりそうですが、どうしたらいいかわかりません(適切なコードが書けない)。
どうしたらいいかわかりません(適切なコードが書けない)。
CODEXを見るとテンプレートタグの使い方を説明しています。
http://codex.wordpress.org/Template_Tags/query_posts
query_posts($query_string.”&orderby=post_type”)
ですが実現できるかどうか、試していません・・使えないようでした。
こちらでもご返信有難うございます
あっ、そうでしたね。
フィルター、フックはSearch Everythingのソースを見ると参考になると思います。
http://wordpress.org/extend/plugins/search-everything/
重ね重ね有難うございます。
query_posts($query_string.”&orderby=post_type”)
ですが実現できるかどうか、試していません・・使えないようでした。
試してみました。どうもうまくいかないですね。
CODEXも色々みてみましたが、そもそもpost_typeで並べ替えは対応していないみたいですね。
フィルター、フックはSearch Everythingのソースを見ると参考になると思います。
http://wordpress.org/extend/plugins/search-everything/
なるほど!search everythingはページを除外などもオプションであった気がするので、参考になりそうです。有難うございます。