Custom Field Template(カスタムフィールドテンプレート)が便利すぎるので自分用覚書。増えたり減ったり。
配布先
画像の出力時
<?php if ( post_custom('mainimage') ) : ?> <?php $full = wp_get_attachment_image_src(post_custom(mainimage),'full'); ?> <p><img src="<?php echo $full[0]; ?>" alt="<?php the_title(); ?>" class="img-responsive"></p> <?php endif; ?>
メンドクサイのでなるべく小文字半角英数字がおすすめ。
File Uploadを作る際にファイル管理ピッカーで選択ができるようにする
[mainimage] type = file mediaPicker = true label = メインの画像を1枚選択してください。
テーマファイルにショートコードを書くとき
echo do_shortcode('[cft format="1"]');
※PHP
※[]は半角
※cftsearchの場合はcftsearch format="1"
テキストエリア
[description] type = textarea rows = 4 cols = 40 tinyMCE = true htmlEditor = true mediaButton = true label = 紹介文
テキストエリアでtinyMCE(及びhtmlEditor)を使用しようと思った場合、新規投稿時にtinyMCEとhtmlEditorが切り替えできない症状があった。(更新後、修正時は問題なし)
該当投稿タイプに本文(Editor)がなかったためjavascriptが読み込めてなかったような症状だったので、投稿タイプにeditorを追加することで修正した。
'supports' => array( 'editor', ),
フィールドの繰り返し
fieldset_openからfieldset_closeの間に記述された情報を繰り返し使うことができる
[field1] type = fieldset_open legend = xxxx multiple = true multipleButton = true //codecodecode [field1] type = fieldset_close
繰り返しの表示参考:Custom Field Templateグループ化時、バラバラに表示されてしまう
繰り返し参考:Custom Field Templateで投稿者がフィールドを追加できるようにする方法
チェックボックス
配列とは永遠に殴り合っている…。
下記ページが一番わかりやすいのでこちらのコードを共有させていただきます。設定は参考先参照。
参考:https://kotori-blog.com/wordpress/customfieldtemplate/
取得
チェックボックスをsyuruiで作成されています。
[$syurui = post_custom('syurui');]
表示
<div>種類:<?php if (is_array($syurui)) { foreach($syurui as $val){ if ($val === end($syurui)) { echo $val; }else{ echo $val.", "; } } }else{ echo $syurui; } ?></div>