Wordpressプラグイン「Smart Custom Field」の使い方について、いつも参照している内容とリンクをまとめる。
なぜSmart Custom Field なのか
- 無料で繰り返し機能が使える。
- ソースベースでカスタムフィールドの内容を設定できる
Smart Custom Fieldの内容を表示させる
繰り返しの場合
<?php
$info_array = SCF::get('group-post-info');
// 該当ページ以外
// SCF::get('group-shop-info', get_page_by_path('shop'));
foreach($info_array as $info):
?>
<?php if(isset($info['name']): ?>
<p><?=$info['name'] ?></p>
<?php endif; ?>
<?php endforeach; ?>
繰り返ししない場合
<?= $cf_sample = post_custom('cf_sample'); ?>
参考
Smart Custom Fields(SCF)でカスタムフィールドを出力する
Smart Custom Fieldを使ってカスタムフィールドを追加する
一覧表示
$args = Array(
'post_type' => 'test',
'posts_per_page' => -1,
'meta_query' => array(array(
'key' => 'address',
'value' => '神戸市',
'compare' => 'LIKE'
))
);
$the_query = new WP_Query($args);
if($the_query -> have_posts()):
while($the_query -> have_posts()): $the_query -> the_post();
//ここに処理を記述
endwhile;
endif;
wp_reset_postdata();
参考
[WordPress] カスタムフィールドで絞り込んで一覧表示する
functions.phpでカスタムフィールドの定義をする
functions.php
function add_post_info_fields($settings, $post_type, $post_id, $meta_type)
{
// post以外の投稿タイプなら特に何もしない
if ($post_type != 'post') {
return $settings;
}
// 特定IDの投稿タイプなら特に何もしない
/*
if($post_id != '57'){
return $settings;
}
*/
// 引数: (設定名スラッグ, ラベル名)
$Setting = SCF::add_setting('post-setting', 'カスタム投稿設定');
$items = post_array();
// 引数: (グループ名, ループの可否, 項目の配列)
$Setting->add_group('group-post-info', false, $items);
// 今あるカスタムフィールドの設定に$Settingを追加
array_push($settings, $Setting);
return $settings;
}
// smart-cf-register-fieldsにフック
add_filter('smart-cf-register-fields', 'add_post_info_fields', 10, 4);
// カスタムフィールドの定義を設定
function post_array()
{
$items = array(
array(
'name' => 'form_name',
'label' => 'テキスト入力枠1',
'type' => 'text',
),
/*
array(
'name' => 'select',
'label' => '選択肢',
'type' => 'select',
'choices' => array( 'a', 'b', 'c' ),
'default' => 'aa@bb.com',
'instruction' => 'テキスト',
'notes' => '注釈',
'date_format' => '日付のフォーマット y/m/d i:s',
'max_date' => '最大日付 +1m +1w',
'min_date' => '日付のフォーマット +1m +1w'
),
*/
);
return $items;
}
参考
SmartCustomFieldsのコードでの定義についてのまとめ
カテゴリーに画像を追加する
参考
[Smart Custom Fieldsでカテゴリー・カスタムタクソノミーに設定を追加する]
( https://yosiakatsuki.net/blog/scf-category-option/ )