この実装、面倒なら代行します
サイト公開後、ブログ記事投稿をクライアント自身でやってもらうとき、hタグとか画像とか、もろもろhtmlを書かずに済ませるために、WordPressではカスタムフィールドというのが用意されていて、それを管理するプラグインに「アドバンストカスタムフィールド」というのがあり、100ウェブでも重宝しています。
さて、あるクライアントから「記事を章立てでやりたいんだけどどうしたらいいですか?」という質問があり、「それも何章になるかわからない」と来ました。
これ以上は増えないだろうという数だけ章のカスタムフィールドを最初から用意する方法もありますが、そうすると投稿画面がズン長くなってカッコよくないですよね。
解決方法としては、
最初は{タイトル、本文}が1セットだけ。ボタン一つでこのセットをいくつでも生成できるようにする
という感じで、後からフィールドを追加できるようにできれば良いんです。
これを解決してくれるプラグインが
Advanced Custom Fields: Repeater Field
※ 2023年4月のAdvanced Custom Fieldsのアップデートで Repeater Fieldプラグインは使えなくなりました。代わりに有償版のAdvanced Custom Fields PROにRepeater Field が標準で組み込まれています。
有償ですが相当使えます。
アドバンストカスタムフィールドの子プラグインですので、アドバンストカスタムフィールドを有効にした状態で使ってください。
記述方法:
事前にアドバンストカスタムフィールドの管理画面で、親フィールド、その中に子フィールドを用意してください。
ここでは親フィールドとして「service_block」、
子フィールドとして、タイトル「service_title」、内容部「service_content」とします。
single系テンプレートであれば、以下のように記述。
<?php if( have_rows('service_block') ){ while ( have_rows('service_block') ){ the_row(); $service_title = get_sub_field('service_title'); $service_content = get_sub_field('service_content'); ?> <div class="service-items"> <h2><?php echo $service_title; ?></h2> <?php echo $service_content; ?> </div> <?php } }?>
これで、{タイトル、本文}のセットをhtml記述無しでいくらでも作ることができます。
WordPressカスタマイズ事例やウェブ制作ノウハウの新着情報、お役立ち情報を
リアルタイムにメルマガ配信!
100ウェブで手がけた制作・開発案件を一部、ご紹介。
クライアントからご相談いただいた内容とその実装におけるポイント、工期、予算について確認いただけます。
【テレワーク実施中 につきお電話転送中】
コール中1秒程度無音状態になりますがそのままお待ちください。
受付時間
平日 10:00~18:00
メールでのお問い合わせでも
1営業日以内にご連絡いたします。