サポート » 使い方全般 » 値が入ってない場合でもカスタムフィールドでソートしたい

  • 解決済 UNYORA

    (@unyora)


    お世話になっております。

    <?php query_posts($query_string.’&order=DESC&orderby=meta_value_num&meta_key=views’); ?>

    上記のようにカスタムフィールドのviewsをキーにしてソートしているのですが、投稿にviewsがない場合はループから除外されてしまいます。
    viewsが登録されていない投稿データも除外されずに取得する書き方はありますでしょうか?

    viewsが登録されていない場合は0として扱いたいのです。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • こんにちはー。

    viewsが登録されていない投稿データも除外されずに取得する書き方はありますでしょうか?

    とのことですね。
    情況にもよりますが結構難しいと思います。
    orderbyを使うとカスタムフィールドに対してフィルタが入ってしまいます。
    そのフィルタをいじるのはなかなか難しいです。

    ちょっと違った解決方法を紹介します。
    カスタムフィールドの設定は標準機能のつかっていますか?
    カスタムフィールドの設定にはAdvancedCustomFieldというプラグインが優秀です。
    もし標準のカスタムフィールドを使っているようですとこういったプラグインを使うことで、記事を保存した際に何らかの値で埋めることが出来ます。

    記事の件数がまだ少ないようでしたらそういったプラグインでカスタムフィールドを定義して保存するのはいかがでしょうか?

    トピック投稿者 UNYORA

    (@unyora)

    yousan様、お返事ありがとうございます。

    >記事の件数がまだ少ないようでしたらそういったプラグインでカスタムフィールドを定義して保存するのはいかがでしょうか?

    ありがとうございます。
    今回はかなりの件数で、手動では難しかったのです。

    なるほどー、僕も似たような案件がありまして、その際にはプログラムで全てのカスタムフィールドを埋めるようにしました。

    他にはsingle.phpを呼んだ際にカスタムフィールドをチェックし、値が入ってなければ埋める、というのもやったことがあります。

    そういった解決方法はいかがでしょうか〜?

    トピック投稿者 UNYORA

    (@unyora)

    >なるほどー、僕も似たような案件がありまして、その際にはプログラムで全てのカスタムフィールドを埋めるようにしました。

    ありがとうございます。これはSQLの発行でしょうか?

    トピック投稿者 UNYORA

    (@unyora)

    https://ja.forums.wordpress.org/topic/157299?replies=3

    こちらの内容で、解決済みとしたいと思います。
    皆様ありがとうございました。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「値が入ってない場合でもカスタムフィールドでソートしたい」には新たに返信することはできません。