プラグイン出力でよく使うコード
Advanced Custom Fields(ACF)でよく使うコード
※リピータ―フィールドなどは有料のPROにしないと使用できません
※公式のドキュメントもご覧ください。
基本の表示方法(テキスト、テキストエリア)
フィールド名は日本語でも、英語でもOK!
<?php the_field('フィールド名'); ?>
【記入例:肩書きというテキストフィールド名を表示】
<p><?php the_field('肩書き'); ?></p>
他の記事のカスタムフィールドを表示
<?php the_field('フィールド名', ID); ?>
【記入例:ページIDが5に登録されたカスタムフィールドを表示】
<?php the_field('会社のコンセプト', 5); ?>
値が入っているか判別する条件分岐
<?php if(get_field('フィールド名')): ?>
<!--フィールド名が入っていたら表示-->
<?php the_field('フィールド名'); ?>
<?php else: ?>
<!--それ以外の処理-->
<?php endif; ?>
繰り返しフィールドの表示
※繰り返しフィールドの中は 「the_field」→「the_sub_filed」 という名前に変わるので注意!
<?php if(have_rows('フィールド名')): ?>
<?php while(have_rows('フィールド名')): the_row(); ?>
<?php the_sub_field('サブフィールド名'); ?>
<?php endwhile; ?>
<?php endif; ?>
繰り返しフィールドの●件目だけ表示
<?php
$counter = 0;
if(have_rows('フィールド名')):
while(have_rows('フィールド名')): the_row();
$counter++; // 繰り返しフィールドの件数をカウント
?>
<?php if ($counter <= 5): // 5件までを表示 ?>
<?php the_sub_field('サブフィールド名'); ?>
<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>
繰り返しフィールドの●件目以降を表示
<?php
$counter = 0;
if(have_rows('フィールド名')):
while(have_rows('フィールド名')): the_row();
$counter++; // 繰り返しフィールドの件数をカウント
?>
<?php if($counter > 3): // 3件目より後(=4件目~)を表示 ?>
<?php the_sub_field('サブフィールド名'); ?>
<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>
繰り返しフィールドの●件目から●件目まで表示
<?php
$counter = 0;
if(have_rows('フィールド名')):
while(have_rows('フィールド名')): the_row();
$counter++; // 繰り返しフィールドの件数をカウント
?>
<?php if($counter >= 2 && $counter <= 10): // 2件目から10件目を表示 ?>
<?php the_sub_field('サブフィールド名'); ?>
<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>
繰り返しフィールドの値をランダムに出す
〇画像の戻り値の形式:画像 ID
<?php // 表示結果をランダムにする
$rows = get_field('フィールド名'); // 配列を格納
$rand_row = $rows[array_rand($rows)]; // 配列から値をランダムに取得
$rand_row_image = $rand_row['サブフィールド名']; // フィールド名を指定して値を取得
$image = wp_get_attachment_image_src($rand_row_image, 'full' ); // フルサイズの画像を取得
$image_url = $image[0]; // 画像のURLを取得
$image_alt = get_post_meta(get_post($rand_row_image)->ID, '_wp_attachment_image_alt', true); // 画像のalt属性を取得
?>
<img src="<?php echo $image_url; ?>" alt="<?php echo $image_alt; ?>">
繰り返しフィールドをカウントして、ページ内リンク
【使用例】項目別のよくあるご質問をリピータ―フィールドで表示
<!-- アンカーリンク -->
<?php if(have_rows('faq') ): $i = 0; ?>
<ul>
<?php while(have_rows('faq')): the_row(); $i++;?>
<li><a href="#faq<?php echo $i?>"><?php the_sub_field('タイトル'); ?></a></li>
<?php endwhile;?>
</ul>
<?php endif;?>
<!-- FAQ詳細 -->
<?php if(have_rows('faq') ): $i = 0; ?>
<?php while(have_rows('faq')): the_row(); $i++;?>
<section id="faq<?php echo $i?>" class="faq-area">
<h3><?php the_sub_field('タイトル'); ?></h3>
<?php if(have_rows('質問詳細')): ?>
<?php while(have_rows('質問詳細')): the_row(); ?>
<section class="faq-block">
<h4><?php the_sub_field('q'); ?></h4>
<div class="faq-a-block">
<?php the_sub_field('a'); ?>
</div>
</section>
<?php endwhile; endif; ?>
</section>
<?php endwhile; endif; ?>
画像の表示
〇画像の戻り値の形式:画像配列
<?php
$image = get_field('フィールド名');
if(!empty($image)):
?>
<img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>">
<?php endif; ?>
〇画像の戻り値の形式:画像配列
<?php
$image = get_field('フィールド名');
if(!empty($image)):
// 画像から情報を取得
$url = $image['url']; // URL
$title = $image['title']; // タイトル
$alt = $image['alt']; // 代替テキスト
$caption = $image['caption']; // キャプション
$description = $image['description']; // 説明
// 画像のサイズ
$size = 'thumbnail'; // 画像サイズ thumbnail(サムネイル), medium(中サイズ), large(大サイズ), full(元画像)
$thumb = $image['sizes'][ $size ]; // 指定したサイズの画像のURL
$width = $image['sizes'][ $size . '-width' ]; // 横幅
$height = $image['sizes'][ $size . '-height' ]; // 高さ
?>
<figure>
<a href="<?php echo $url; ?>" title="<?php echo $title; ?>">
<img src="<?php echo $thumb; ?>" alt="<?php echo $alt; ?>" width="<?php echo $width; ?>" height="<?php echo $height; ?>">
</a>
<figcaption><?php echo $caption; ?></figcaption>
</figure>
<p><?php echo $description; ?></p>
<?php endif; ?>
ギャラリーの表示
〇画像の戻り値の形式:画像配列
<?php
$images = get_field('フィールド名');
if($images):
?>
<ul>
<?php foreach($images as $image): ?>
<li> <!--元画像にリンク、サムネイルサイズで表示-->
<a href="<?php echo $image['url']; ?>">
<img src="<?php echo $image['sizes']['thumbnail']; ?>" alt="<?php echo $image['alt']; ?>">
</a>
<p><?php echo $image['caption']; ?></p> <!--キャプションを表示させたい場合-->
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
チェックボックスをリストで表示
<?php
$checklists = get_field('フィールド名');
if($checklists):
?>
<ul>
<?php foreach($checklists as $checklist): ?>
<li><?php echo $checklist; ?></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
チェックボックスを使った条件分岐
<?php
$checklists = get_field('フィールド名');
if($checklists && in_array('条件1', $checklists)):
?>
<!-- 条件1が選択されている場合の処理 -->
<?php elseif($checklists && in_array('条件2', $checklists)): ?>
<!-- 条件2が選択されている場合の処理 -->
<?php else: ?>
<!-- それ以外の場合の処理 -->
<?php endif; ?>
関連(投稿)オブジェクトの表示
※複数値を選択可能
<?php
$featured_posts = get_field('フィールド名');
if($featured_posts):
?>
<?php foreach($featured_posts as $post): setup_postdata($post); ?>
<!--ここに表示させたい内容を記述-->
<p><?php the_title(); ?></p>
<?php endforeach; ?>
<?php wp_reset_postdata(); ?>
<?php endif; ?>
Smart Custom Fieldsでよく使うコード
基本の表示方法
<?php echo SCF::get('カスタムフィールドの名前'); ?>
【使用例:mapという名前を付けたカスタムフィールドを表示】
<?php echo SCF::get('map'); ?>
テキストエリアの表示
<?php echo nl2br(SCF::get('カスタムフィールドの名前')); ?>
【使用例:serviveという名前を付けたカスタムフィールドを表示】
※nl2brを入れて改行を反映。
<?php echo nl2br(SCF::get('service')); ?>
画像の表示
<?php echo wp_get_attachment_image(SCF::get('カスタムフィールドの名前'), '画像のサイズ'); ?>
【使用例:company-imgという名前をつけた画像をlargeサイズで表示】
<?php echo wp_get_attachment_image(SCF::get('company-img'), 'large'); ?>
リピーターフィールドの表示
<?php
$グループ名 = SCF::get('グループ名');
foreach($グループ名 as $fields):
?>
<?php echo $fields['カスタムフィールドの名前'];?>
<?php endforeach; ?>
【使用例:company-info-groupという名前をつけたグループの info-titleとinfo-descriptionをリピート表示】
<?php
$company_info_group = SCF::get('company-info-group');
foreach($company_info_group as $fields):
?>
<dl>
<dt><?php echo $fields['info-title']; ?></dt>
<dd><?php echo $fields['info-description']; ?></dd>
</dl>
<?php endforeach; ?>
【使用例:他ページの情報を出力】
※例はcompanyというスラッグがついているページの情報を出力しています。
get_page_by_path(‘company’)->IDが追加されているのがポイント
<?php
$company_info_group = SCF::get('company-info-group', get_page_by_path('company')->ID);
foreach($company_info_group as $fields):
?>
<dl>
<dt><?php echo $fields['info-title']; ?></dt>
<dd><?php echo $fields['info-description']; ?></dd>
</dl>
<?php endforeach; ?>
Breadcrumb NavXTでよく使うコード
パンくずリストの表示
<ol>
<?php if(function_exists('bcn_display')) bcn_display_list(); ?>
</ol>
WP-PageNaviでよく使うコード
ページナビゲーションの表示
<?php wp_pagenavi(); ?>
固定ページにナビゲーションを表示する場合:使用例はこちらから
<?php
if(function_exists('wp_pagenavi')):
wp_pagenavi(array('query'=>$the_query));
endif;
?>
最低限覚えておきたい
WordPressのコード
-
PHPの条件分岐の基本
-
WordPressで使う代表的な条件分岐
-
投稿の出力でよく使うWordPressのコード
-
テンプレートパーツの読み込みで使うWordPressのコード
-
header.phpの中でよく使うWordPressのコード
-
footer.phpの中でよく使うWordPressのコード
-
sidebar.phpの中でよく使うWordPressのコード
-
functions.phpの中でよく使うコード
-
front-page.phpでよく使うWordPressのコード
-
page.phpの中でよく使うWordPressのコード
-
archive.php(date.php、category.php、tag.php)の中でよく使うWordPressのコード
-
single.phpの中でよく使うWordPressのコード
-
archive-カスタム投稿名.phpの中でよく使うWordPressのコード
-
taxonomy.phpの中でよく使うWordPressのコード
-
single-カスタム投稿名.phpの中でよく使うWordPressのコード
-
search.phpの中でよく使うWordPressのコード