タグ

2011年11月29日のブックマーク (4件)

  • WordPressの新機能 複数タクソノミークエリーまとめ – Simple Colors

    先日、「WordPress 3.1 RC3 をみんなでテスト! 」に参加し、その際、複数カスタムタクソノミークエリー(en. Multiple Taxonomy Handling)のテストを担当させてもらいました。 ついでに、仕様などについても探ってましたので、まとめてみることにします。 複数タクソノミークエリーとは なるべく正確に言うと、query_posts または get_posts の引数に新たに設けられた tax_query により、カテゴリー、タグ、カスタムタクソノミー等による記事抽出条件を、複数かつ様々なパラメータで細かく設定できる機能。 tax_query の値は、抽出条件毎の配列と各条件の結合方法(パラメータ名:relation)で構成される。 こう書いても、分かりにくいと思いますので、もっとかみ砕いて、粉状にして言うと「これさえ憶えておけば、WordPressでの絞り込

  • WordPress の部屋 | 複数カスタムフィールドクエリ(WP3.1~)

    ‘=’(デフォルト), ‘!=’, ‘>’, ‘>=’, ‘ 複数のカスタムフィールドの指定 $args = array( 'post_type' => 'product', 'meta_query' => array( array( 'key' => 'color', 'value' => 'blue', 'compare' => 'NOT LIKE' ), array( 'key' => 'price', 'value' => array( 20, 100 ), 'type' => 'numeric', 'compare' => 'BETWEEN' ) ) ); query_posts( $args ); カスタムフィールドのソート ソート(orderby)は、meta_query の中では指定できません。したがって、従来と同じようにソートのキーは一つしか指定できません。 $tday

    crosawassant
    crosawassant 2011/11/29
    単純にカスタムフィールドだけで検索ならこれでいけるキーワード検索と一緒にするとうまくいかないんじゃまいかとおもわれ
  • WordPressのデフォルトの検索をカスタマイズする

    公式フォーラムに上がってた質問から、WordPressのデフォルトの検索をカスタマイズする方法を調べてみました。WordPressにはSQLクエリをカスタマイズするためのフィルターフックが用意されているので、それを使います。 たとえば、検索対象にスラッグ(post_name)を含めるというカスタマイズを考えてみます。何もカスタマイズしていない状態で「hello-world」(インストール時に作られるHello World!という投稿のスラッグ)で検索した場合、このようなクエリが発行されます。 SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts WHERE 1=1 AND (((wp_posts.post_title LIKE ‘%hello-world%’) OR (wp_posts.post_content LIKE ‘%hello-w

    crosawassant
    crosawassant 2011/11/29
    キーワード対象フィールドを増やす呪文
  • カスタムクエリ - WordPress Codex 日本語版

    はじめの例では、用語集プラグインについて考えてみましょう。用語集プラグインによって、サイト管理者はあらかじめ決められた用語集カテゴリー(プラグインによってグローバル変数$gloss_categoryに保存されています)に投稿することができます。サイト管理者は用語集カテゴリーが表示されたときは、日付順ではなくアルファベット順に並び、設定ページに入力した数ではなくすべての投稿を出力したいのです。 さて、クエリを二つの方法で修正する必要がでてきました: クエリのORDER BY節にフィルターを追加し、用語集カテゴリーを見ているときだけアルファベット順に変えます。フィルターの名前は 'posts_orderby'で、SQL文中でORDER BYの直後にあるテキストにフィルターをかけます。 クエリのLIMIT節にフィルターをかけ、制限を外します。このフィルターは'post_limits'という名で、

    crosawassant
    crosawassant 2011/11/29
    カスタムフィールドを検索対象に入れたりとか