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の教科書
プライム・ストラテジー株式会社
ソフトバンククリエイティブ
売り上げランキング: 5,208
WordPressプロフェッショナル養成読本 [Webサイト運用の現場で役立つ知識が満載! ] (Software Design plus)
高野直子 後藤賢司 染谷昌利 岡本雄樹 深海寛信 岡本 渉 松本悦宜
技術評論社
売り上げランキング: 24,886
いちばんやさしい WordPress の教本 人気講師が教える本格Webサイトの作り方
石川栄和 大串肇 星野邦敏
インプレスジャパン
売り上げランキング: 2,127