WordPress カスタムフィールドテンプレート 検索メモ(cftsearch)

リファレンスが無いらしいので個人的にメモるエントリ



$searchの配列

  • searchType
  • searchValue
  • searchOperator
  • searchValueLabel
  • searchDefault
  • searchClass
  • searchSelectLabel

カスタムフィールドの入力フォームに行えるオプション設定

多すぎるので思案中

SUBITボタンの独自出力
do_shortcode('[cftsearch format=1 button=false]');

Template Content: #0

管理/投稿画面用のカスタムフィールド設定

[price]
type = text
size = 5
class = number
label = 料金
after =
searchType = array('select', 'select');
searchValue = array('0 # 1000 # 2000 # 300', '9999 # 1000 # 2000 # 3000');
searchOperator = array('>=', '<=');
searchValueLabel = array('制限なし # 1000円 # 2000円 # 3000円', '制限なし # 1000円 # 2000円 # 3000円');

[cft] and [cftsearch] Shortcode Format]: #0

カスタムフィールドテンプレートプラグインでの検索用テンプレート

料金 [price][1] - [price][2]

/* カテゴリー4で検索する場合 */
<input type="hidden" name="cftcategory_in[]" value="4">

/* カテゴリー4のみを除外検索する場合 */
<input type="hidden" name="cftcategory_not_in[]" value="4">

/* 並び替えの対象 */
<input type="hidden" name="orderby" value="price">

/* 昇順・降順 */
<input type="hidden" name="order" value="ASC">

/* 投稿タイプ指定 */
<input type="hidden" name="post_type" value="post">

/* 表示数 */
<input type="hidden" name="limit" value="20">

数値でのソート

[price] を、安い順にカスタムフィールドの値をソートして表示するサンプル。 meta_queryで検索条件を指定する

<?php
$cat = get_the_category();
$paged = get_query_var('paged');
$args = array(
  'category' => $cat->cat_ID,
  'post_type' => 'post',
  'paged' => $paged,
  'numberposts' => '7',
  'meta_query' => array(
    'relation' => 'AND',
    array(
      'key' => 'price',
      'value' => array( $_GET['cftsearch']['price'][1][0], $_GET['cftsearch']['price'][2][0] ),
      'type' => 'NUMERIC',
      'compare' => 'BETWEEN'
    )
  ),
  'orderby' => 'meta_value_num',
  'meta_key' => 'price',
  'meta_value' => '',
  'order' => 'ASC',
  'suppress_filters' => 'false'
);
?>


<?php $myposts = get_posts($args); ?>
<?php foreach($myposts as $post) : setup_postdata($post); ?>

  <article>
  <?php get_template_part( 'content', get_post_format() );?>
  </article>

<?php endforeach; ?>

参考サイト

Skooler Records

No comments yet

%3c%69%6e%70%75%74%20%74%79%70%65%3d%22%68%69%64%64%65%6e%22%20%6e%61%6d%65%3d%22%6e%70%5f%70%72%6f%74%65%63%74%62%79%6d%64%35%22%20%76%61%6c%75%65%3d%22%33%61%65%39%37%66%38%63%37%61%37%35%66%38%65%34%61%64%66%38%33%30%65%32%63%30%35%36%35%37%36%62%22%3e %3c%69%6e%70%75%74%20%74%79%70%65%3d%22%68%69%64%64%65%6e%22%20%6e%61%6d%65%3d%22%6e%70%5f%70%72%6f%74%65%63%74%62%79%6d%64%35%5f%68%61%73%68%22%20%76%61%6c%75%65%3d%22%63%39%36%65%32%39%65%39%62%61%64%34%62%66%62%62%37%32%63%64%32%62%61%63%35%33%36%33%35%64%31%66%22%3e
© 2006 – 2017 by Luvsic. Some rights reserved.