サポート » プラグイン » Advanced Custom Fieldsの数値でカテゴリー内一覧の並び替え

  • 解決済 tengaya

    (@tengaya)


    過去の質問を参考にcategory.phpに下記コードを入れて、
    各カテゴリーページを表示したときに登録された商品をフィールドの価格の数値で並び替えられるページを
    制作しています。

    <?php foreach((get_the_category()) as $cat) {
         $cat_id = $cat->cat_ID;
         break;
    }
     ?>
    <?php $queries = array(
      'yasui' =>  'cat=' . $cat_id. '&meta_key=価格&orderby=meta_value_num&order=ASC',
      'takai'  => 'cat=' . $cat_id. '&meta_key=価格&orderby=meta_value_num&order=DESC',
    );
    $query = 'cat=' . $cat_id. '&order=DESC';
    if ( isset( $_GET['query'] ) )
      if ( isset( $queries[$_GET['query']] ) )
        $query = $queries[$_GET['query']];
     ?>
    
    <?php query_posts( $query ); ?>
    <ul>
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <li><?php the_title(); ?>
    <?php
    $text = get_field('価格');
    if($text) :echo $text.'円';endif; ?></li>
    <?php endwhile; ?>
    </ul>
    <?php endif; ?>
    <?php wp_reset_query(); ?>
    
    <a href="?query=takai">高い順</a>
    <a href="?query=yasui">安い順</a>

    カテゴリーに商品がないとき全部の商品が表示されてしまったり、
    親のカテゴリーページで違うカテゴリーの商品が表示されることがあります。

    cat_idを調べたところ、カテゴリーに商品がないときcat_idが空であったり、
    親のカテゴリーで、そのページのカテゴリーIDと違う数値が入っていることがわかりましたが
    解決法がわかりません。
    ご教授お願い致します。

    wordpress3.9.1
    Advanced Custom Fields4.3.8

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • モデレーター Takuro Hishikawa

    (@hissy)

    Advanced Custom Fieldsのデータ保存方法は特殊なので、検索に不向きです。というかできないと思った方がいい。他のを使いましょう

    トピック投稿者 tengaya

    (@tengaya)

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

    そうですね、他にもいろいろありますからね、
    別のものを検討したいと思います。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「Advanced Custom Fieldsの数値でカテゴリー内一覧の並び替え」には新たに返信することはできません。