WPで標準の検索フォームを使うと、ブログだけじゃなくて固定ページまでヒットしてしまうことがありますよね?

検索結果をブログだけにしたい!そんなときに使える簡単なハックをご紹介します。

検索結果のテンプレートファイル内(search.phpなど)で以下の行を探し、

if (have_posts()): while (have_posts()) : the_post(); ?>

メインループが始まるよりも前に$wp_queryオブジェクトの設定を変えてしまいます。

global $wp_query;
$args = array_merge( $wp_query->query_vars, array( 'post_type' => 'post' ) );
query_posts( $args );

これで$wp_queryオブジェクトのpost_typeをpostに変更したので、固定ページやカスタム投稿タイプは表示されなくなりました。めでたしめでたし。

EC-CUBEの解説本

EC-CUBE4の使用方法が詳しく解説されています。ショップオーナー、運用を任せられている方向けの本で、カスタマイズ向きではありません。どのような設定があるのか、管理画面の操作方法を知りたい人は必須の一冊です。

EC-CUBE4をカスタマイズする方必読

EC-CUBEはSymfonyをベースに作られており、EC-CUBE4のカスタマイズにはSymfomyの学習を避けて通れません。弊社ではまずこの本を読むよう薦めています。