Advanced Custom Fields の表示【wordpress】
Advanced Custom Fields に入力した値をテンプレートで表示する方法
基本の表示
<?php the_field('フィールド名1'); ?>
2023年以降
<?php echo get_field('フィールド名1'); ?>
値が設定された時だけ表示する
<?php if( get_field(‘フィールド名1’) or get_field('フィールド名2’) and get_field('フィールド名3’) ): ?>
<?php the_field('フィールド名1'); ?>
<?php else: ?>
■値がない時に表示するもの■
<?php endif; ?>
<?php if( get_field('フィールド名1') ) { ?>
<p><?php the_field('フィールド名1'); ?></p>
<?php } ?>
文字数を指定
<?php
$text = mb_substr(get_field('フィールド名1'),0,120,'utf-8');
echo $text.'...';
?>
タクソノミー
カスタム分類(タクソノミー)名:neko_robi
表示したいカスタムフィールド名:neko_tokucho
の場合
カスタム分類テンプレート taxonomy-neko_robi.php の記述
// カスタム分類名
<?php $taxonomy = 'neko_robi';
$term_slug = get_query_var('term');
$the_term = get_term_by('slug', $term_slug, $taxonomy);
$term_id = $the_term->term_id; ?>
//タームのカスタムフィールドを取得するためのIDは「カスタム分類(タクソノミー)名_タームID」
<?php $term_idsp = $taxonomy."_".$term_id; ?>
<?php if(get_field('neko_tokucho', $term_idsp)){
echo get_field('neko_tokucho', $term_idsp);
} ?>
カテゴリの場合は「category_カテゴリID」
<?php $cat_id = $category->cat_ID;
$term_idsp = 'category_'.$cat_id; ?>
<?php if(get_field('neko_tokucho', $term_idsp)){
echo get_field('neko_tokucho', $term_idsp);
} ?>
カテゴリーで選んだ画像をcategory.phpで出力
●●フィールド名1●●をフィールドの名前(英数)に変更
<?php $cat_id = get_queried_object()->cat_ID;
$post_id = 'category_'.$cat_id;
?>
<img src="<?php the_field('●●フィールド名1●●',$post_id); ?>" alt="<?php single_cat_title(); ?>" />
ギャラリータイプ画像の配置「配列」
「返り値のフォーマット」で「画像配列」にチェック
名前1を英数の名前の部分に変更
<?php
$images = get_field('名前1');
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
$images = get_field('名前1');
if( $images ):
?>
<?php foreach( $images as $image ): // ループ開始 ?>
<div>
<img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" />
</div>
<?php endforeach; ?>
<?php endif; ?>
画像を1枚だけ表示する場合
「返り値のフォーマット」で「画像 URL」にチェック
<?php if( get_field('名前1') ): ?>
<img src="<?php the_field('名前1'); ?>" />
<?php endif; ?>
フィールドの値とフィールドラベル
<?php if( get_field('フィールド名1') ):
the_field('フィールド名1');
$fielddata = get_field_object('フィールド名1');
echo esc_html($fielddata['label']);
endif; ?>
フィールドタイプ:基本
/*テキスト-----------*/
/*テキストエリア-----------*/
/*数値-----------*/
/*メール-----------*/
/*パスワード-----------*/
<?php if( get_field('フィールド名') ): ?>
<?php the_field('フィールド名'); ?>
<?php endif; ?>
/*Range-----------*/
/*URL-----------*/
フィールドタイプ:content
/*Wysiwyg エディタ-----------*/
<?php if( get_field('フィールド名') ): ?>
<?php the_field('フィールド名'); ?>
<?php endif; ?>
/*画像(返り値が「画像ID」の場合)-----------*/
<?php if( get_field('フィールド名') ): ?>
<?php $thumb = wp_get_attachment_image_src( get_field('フィールド名') , 'full' ); //thumbnail, medium, large, full ?>
<img src="<?php echo $thumb[0]; ?>" width="<?php echo $thumb[1]; ?>" height="<?php echo $thumb[2]; ?>" alt="">
<?php endif; ?>
/*画像(返り値が「画像URL」の場合)-----------*/
<?php if( get_field('フィールド名') ): ?>
<img src="<?php the_field('フィールド名'); ?>" alt="">
<?php endif; ?>
/*ファイル(返り値が「ファイルURL」の場合)-----------*/
<?php if( get_field('フィールド名') ): ?>
<a href="<?php the_field('フィールド名'); ?>" target="_blank">ファイル</a>
<?php endif; ?>
フィールドタイプ:選択肢
/*セレクトボックス-----------*/
<?php if( get_field('フィールド名') ): ?>
セレクトボックス:<?php the_field('フィールド名'); ?>
<?php endif; ?>
/*チェックボックス-----------*/
<?php if( get_field('フィールド名') ): ?>
<ul>
<?php $check = get_field('フィールド名');
foreach ( (array)$check as $value ): ?>
<li>チェックボックス:<?php echo $value; ?></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
/*ラジオボタン-----------*/
<?php if( get_field('フィールド名') ): ?>
ラジオボタン:<?php the_field('フィールド名'); ?>
<?php endif; ?>
/*真/偽-----------*/
<?php if( get_field('フィールド名') ): ?>
true
<?php else: ?>
false
<?php endif; ?>
フィールドタイプ:Relational
/*ページリンク-----------*/
<?php if( get_field('フィールド名') ): ?>
<ul>
<?php $relational = get_field('フィールド名');
foreach ( (array)$relational as $value ): ?>
<li>ページリンク:<a href="<?php echo $value; ?>"><?php echo $value; ?></a></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
/*投稿オブジェクト(複数の値を選択できるようにした場合)-----------*/
<?php $post_objects = get_field('post_obj');?>
<?php if( $post_objects ): ?>
<?php foreach( $post_objects as $post): ?>
<?php setup_postdata( $post ); ?>
<div>
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<p><?php the_content(); ?></p>
</div>
<?php endforeach; ?>
<?php wp_reset_postdata(); ?>
<?php endif; ?>
/*タクソノミー(返り値が「Term Object」の場合)-----------*/
<?php if( get_field('フィールド名') ): ?>
<?php $term = get_field('フィールド名'); ?>
<p>タクソノミー:
<?php foreach ( (array)$term as $value ): ?>
<a href="<?php echo get_bloginfo('url') . '/archives/category/' . $value->slug; ?>"><?php echo $value->name; ?></a>
<?php if(next($term)!==FALSE){ echo ", ";} ?>
<?php endforeach; ?>
</p>
<?php endif; ?>
/*ユーザー(返り値が「セレクトボックス」の場合)-----------*/
<?php if( get_field('フィールド名') ): ?>
<?php $user = get_field('フィールド名'); ?>
ユーザー:<?php echo $user['user_nicename']; ?>/ <?php echo $user['nickname']; ?>
<?php endif; ?>
/*ユーザー(返り値が「Multi Select」の場合)-----------*/
<?php if( get_field('フィールド名') ): ?>
<?php $user = get_field('フィールド名'); ?>
<?php foreach ( (array)$user as $value ): ?>
ユーザー:<?php echo $user['user_nicename']; ?>/ <?php echo $user['nickname']; ?>
<?php if(next($user)!==FALSE){ echo ", ";} ?>
<?php endforeach; ?>
<?php endif; ?>
フィールドタイプ:jQuery
/*Google Map(例:仙台駅 lat:38.260115 ing:140.882309)-----------*/
<?php $location = get_field('フィールド名'); ?>
<?php if( !empty($location) ): ?>
<?php echo $location['address'].'<br>lat:'.$location['lat'].'<br>lng:'.$location['lng']; ?>
<iframe src="http://maps.google.co.jp/maps?q=<?php echo $location['address']; ?>&output=embed" width="600" height="450" frameborder="0" style="border:0" allowfullscreen></iframe>
<?php endif; ?>
/*デイトピッカー-----------*/
<?php if( get_field('フィールド名') ): ?>
<?php the_field('フィールド名'); ?>
<?php endif; ?>
/*カラーピッカー-----------*/
<?php if( get_field('フィールド名') ): ?>
<p style="background-color:<?php the_field('フィールド名'); ?>">カラーピッカー:<?php the_field('フィールド名'); ?></p>
<?php endif; ?>
HOME > wordpress設計術 > Advanced Custom Fields の表示【wordpress】
wordpress設計術
- カテゴリーをパラメーターとして使用するtag.phpを分岐
- wpカテゴリーcategory.phpとその子、孫カテゴリーページで同じ内容を出力
- WPでSNSシェアボタンを手動でつける・HTML+PHPコード
- category.phpアイキャッチ優先順位
- contactform7 Enter・returunキーで送信させない
- ACFを使用すると通常のカスタムフィールドが消えるので両方表示させる
- wpトピックパス(パンクズ)を作成2
- Yoast SEO でtitleが出ない時にチェックするところ
- wordpressの記事内にショートコードでphpテンプレートを呼び出す
- Contact Form 7でチェックボックスを設置すると見入力必須項目に「入力してください。」が出る
- wordpressカスタム投稿のsingle-カスタム.phpのページナビ(ターム分類内)
- category.php分岐カテゴリーごとにテンプレートを変える(子カテゴリー含む)
- サイドバーの年月アーカイブからカテゴリーを絞った記事一覧をcategory.phpで出力
- サイドバーの年月アーカイブからカテゴリーを絞った記事一覧をarchive.phpで出力
- mw wp formでチェックボックス(1つ)にチェックを入れた時だけ表示・表示されたinputは入力必須
- wp-親テーマのcssを無効にする
- Advanced Custom Fieldsを入れると消えるカスタムフィールドを表示する方法|wordpress
- wpカスタム投稿月別アーカイブが404になる時
- お知らせ等・月ごとに記事をまとめる(jsを使えば開閉可能)サイドナビで使える
- wpカスタムフィールドに入力した投稿ページのIDの記事を呼び出すWP_Query
- ACFでカラーピッカーを使ってカテゴリーごとに色を付け、TOPページのループ内で表示。styleでbackground-colorを変える
- CPI UI taxonomy- タームテンプレートのタイトル表示
- wordpressのパンクズ(トピックパス)2024年functions.phpとテンプレートに記載
- Advanced Custom Fieldsのチェックボックス・ラジオボタンの結果にクラス名を付ける
- singleページのページ送り・通常とカスタム投稿(CPI UI)
- ブラウザ幅を判定して、特定のページをリダイレクトするjavascript
- wp固定ページとその子(一部除外)に表示
- wordpresのスラッグ名を取得
- conohaサーバー:EC-CUBE4ディレクトリと並列でwpディレクトリを作成した際のhtaccessの書き方
- 投稿記事のスラッグを自動入力
- qTranslate-XT テンプレート内で言語別に分岐させる方法
- wpカテゴリーごとに年月アーカイブを表示
- single.phpをカテゴリーごとに分岐wordpress
- wpのパンくず(トピックパス)をfunctions.phpで作成
- wordpress固定ページでループとページネーション
- wordpressの検索枠設置と条件検索
- CPIの共用レンタルサーバー「シェアードプラン ACE01」パーマリンク変更時のエラー
- Advanced Custom Fields・値によって分岐する
- 今見ている投稿記事と同カテゴリーの記事を表示
- wpログインしている時としていない時で、表示させる内容を変える
- wpセキュリティ対策まとめ
- 標準装備のカスタムフィールドでショートコードを入力して表示する【wordpress】
- functions.phpにショートコードを登録するwordpress
- single.phpに、投稿ページでチェックした特定のカテゴリーの子カテゴリーに限定して表示
- 特定のカテゴリーとその子の時に表示する
- テンプレートに固定ページの内容を読み込む
- WordPressの記事の前後のページへのリンクを自動で表示する方法(カテゴリー内・カテゴリー混合)
- wp プラグイン無しのカスタムフィールドのテンプレート出力
- the_content()の内容をmore前後で2つに分割して出力できる
- 月別アーカイブと記事一覧
- worpressのパーマリンクを変更すると403エラーになる場合
- contact form7 に前ページの情報を与える
- Advanced Custom Fieldsとslick.jsスライダー
- wordpress・ページの子ページ一覧を出力
- wpのcategory.phpで1ページ目にだけ表示する
- WP-PageNaviの2ページ目以降404を解決
- Custom Post Type UIで、特定のカテゴリー一覧を取得する方法
- WordPressで記事の最初の画像を取得してサムネイルサイズで表示する
- ループ記事を古い順に並べる【wordpress】
- Advanced Custom Fields テキストエリアの改行文字列をリストタグ(li)で囲む【wordpress】
- Custom Post Type UIのテンプレート【wordpress】
- Custom Post Type UIカスタム投稿の表示【wordpress】
- Advanced Custom Fieldsでチェックボックスの値を表示する【wordpress】
- 自分が所属するカテゴリーをリンク無し・有りで表示【wordpress】
- 投稿記事全てのリストをpage.phpに表示【wordpress】
- wp分岐・特定の親固定ページとその子ページの時に表示