2013/5/24

WordPressでカスタムフィールドの値を抽出条件と並び替え条件の両方に使う

主に自分用のメモ。

こういうことをやらないといけなくてですね。

カスタム投稿タイプのループ
カスタムフィールドで並び替え
コンテンツを表示
カスタムフィールドのから値を取得
カスタム投稿タイプを取得したカスタムフィールドの値を抽出条件にループ
カスタムフィールドで並び替え
コンテンツを表示
ループが終わる
ループが終わる

で、厄介なのが2つめのループでこれ、meta_queryっての使わないといかんのですね。この記事が参考になった。

meta_query-カスタムフィールドによる複雑なポストの抽出 | WordPress 編

<?php
$args = array(
    'post_type' => 'words',
    'meta_query' => array(
        array(
            'key'     => 'グループ',
            'value'   => 'Aグループ',
            'compare' => '='
        )
    ),
    'meta_key'       => 'ふりがな',
    'orderby'        => 'meta_value',
    'order'          => 'ASC',
    'posts_per_page' => -1
);
$query = new WP_Query( $args );
?>

だから抽出条件がグループで、並び替え条件がふりがな、ってことですね。まあ今やってたサイトだと、800件のカスタム投稿タイプ取得して、それを50個のグループにして、jQueryでアコーディオンで表示するってことやってて、割と重いですよねそれ、って処理やってるんですけど、後は本番サーバに移してそれなりの速度出ますかね、ってところですね。

放心状態。

ひとり仕事: フリーランスという働き方
(2012-10-5)
売り上げランキング: 14,705
100円
WordPressデザインレシピ集
狩野 祐東
技術評論社
売り上げランキング: 197,569
WordPress 高速化&スマート運用必携ガイド
こもりまさあき 岡本渉
エムディエヌコーポレーション
売り上げランキング: 435,263