• かちびと.net

    お手軽WordPress Tips:ページテンプレート機能で作った固定ページだけをサイト内の検索結果から除外する方法をご紹介。ご質問頂いたので記事にします。

    Kudos for

    WordPress jQuery
  • About This

    Web制作に役立つTips、チュートリアル、、マーケティングに役立つ情報などのリソースをほぼ毎日配信しています。宜しければメモ代わりにご利用下さい。詳しい情報はAbout me またはhumans.txtをご覧下さい。

    Kachibito.net is a community-based website for web designers and developers. The site includes a popular weblog, a design gallery, a open source software, design tips, and the various web-news.

  • Links

お手軽WordPress Tips:ページテンプレート機能で作った固定ページだけをサイト内の検索結果から除外する

スポンサーリンク

ちょっとご質問頂いたのでメモがてら
記事にします。WordPressには固定ページ
でテンプレート機能というものが使える
んですが、これが応用が利いて地味に
便利なんです。ただ、場合によっては
ここだけ検索結果から外したい、という
場合もあるかもしれません。

ちなみにご質問内容は、以前書いた、「いいね!」するとコンテンツを見る事が出来るファンゲート対応のFacebookページをWordPressで作る手順という記事で、このテンプレート機能(詳しくはCodexで)を使ってファンゲート対応ページを作るんですが、このページだけサイト内検索から除外したい、という内容です。

[※すみません、このコードではダメですね・・調査不足でした。現在調整中ですが、代替案だけ書いておきます]

コード

ご利用のsearch.phpの一番上とかis_search()以下にあるループ(if (have_posts())~)よりも上に以下のようなコードを含めます。

<?php global $wp_query;
query_posts(
	array_merge(
		array('post__not_in' => array(固定ページのID)),
		$wp_query->query
	)
);?>

特定のカテゴリを除外したい

query_posts('cat=-15&s=' . get_search_query());

除外したいカテゴリID(上記例なら15)を-(マイナス)にします。15を除外してからsearch_queryをgetみたいなね!

カスタム投稿タイプの場合

カスタム投稿タイプの場合はfunctions.phpで操作できます。

function my_custom_init() {
    register_post_type( 'video', array(
        'label' => 'ワンコ動画',
         ・
         ・
         ・
        'exclude_from_search' => false,
        'has_archive' => true
    ));
}

register_post_typeの因数に’exclude_from_search’ => false,を含めます。

もっと手軽な方法あるんですかね?

他にも除外したい記事やページもあるかと思います。そんな時はCodexのテンプレートタグ/query postsを見て書いてみてください。

しかし、こういった情報は公式のフォーラムでご質問されたほうが情報も確実で勉強にもなると思います。若干言葉の使い方がアレな方も見かけますが一応良い人もいますので、ぜひお気軽にトライしてみてください。

URL :
TRB :

Comments & Trackbacks (2)

Twitter

Web制作に役立つそうなリソースを独断と好みで配信しています。

かちびと.netにリンクの無いトラックバックはお受けいていません。
コメントされる前にガイドラインをご覧下さい。

twitter facebook rss contact

Ads

Posts

Contact

Services