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でアコーディオンで表示するってことやってて、割と重いですよねそれ、って処理やってるんですけど、後は本番サーバに移してそれなりの速度出ますかね、ってところですね。

放心状態。

加藤 康祐 / 企画・設計

プランナー、デザイナー。加藤康祐企画設計代表。Webデザインを入り口に、2005年よりフリーランスとしてのキャリアスタート。主な仕事としてベンチャー企業でのサービスのUXデザイン、独法との防災メディアの運営、社会的養護の子どもたちの自立を支援するNPOのサポート。ラグビーと料理、最近イラスト。

加藤康祐企画設計

是非、フォローしてください!
Twitter / Instagram

(2012-10-5)
売り上げランキング: 14,705
100円