【wordpress】toolsetで作ったカスタムフィールドを活用する

  • URLをコピーしました!

toolsetでカスタムフィールドを足す

クライアントワークでよく使っている、

チェックボックスにチェックを入れると、追加の入力欄が表示されるカスタムフィールドを、wordpressのプラグインtoolsetで作ってみましょう。

フィールドグループ作成

名前:カスタムフィールドたちのまとまりに名前を付ける
フィールド名:カスタムフィールドその1項目の名前

この場合は、チェック項目でそのフィールドグループの他項目を使うかを判定させたい。

まずは、他項目の設定から。

名前とスラッグを入れたら、いったん保存。

保存すると「条件を設定してください」を選べるので、選ぶ。

チェックボックスのフィールド =(次に等しい) 1

の条件にすると、チェックボックスにチェックが入っているとき、表示

という状態にできる。

投稿タイプに下の画像のような項目が増えて

チェックボックスにチェックを入れると……

入力欄が表示!!

というカスタムフィールドが簡単に作れます。

テンプレート側に出力を書く

フィールドを作っても、出力がないと意味がないので、出力しましょう。

single.phpのような、投稿内容を表示するテンプレートに
たとえば下記のような感じで。

<?php if (post_custom('wpcf-seminar-exist', 1)):  //セミナーありにチェックが入っているとき ?>
 <h1><?php echo post_custom('wpcf-seminar-title'); //セミナータイトルを出力?></h1>
 <p>
   <?php echo post_custom('wpcf-seminar-detail'); //セミナー内容を出力?>
 </p>
<?php else: ?>

<?php endif; ?>

<?php if (post_custom(‘wpcf-seminar-exist’, 1)):?>

が、「フィールドスラッグseminar-existのチェックボックスにチェックが入っていたら」の条件分岐

<?php echo post_custom(‘wpcf-seminar-title’); ?>

こっちは「フィールドスラッグseminar-titleの内容をecho(=出力)する」のコード。

設定したフィールドスラッグ(フィールドスラグ)の前に「wpcf-」がつくことに注意。

目次

[複数行テキスト]のカスタムフィールドの時

上記の方法で出力したら、[複数行テキスト]の改行が反映されません。複数行テキストなのに……

<?php echo nl2br(post_custom('wpcf-seminar-detail')); //複数行テキストの改行を有効にする?>

echoの後の部分を、nl2br() で囲ってあげると、出力も入力通りに改行されます。

[WYSIWYG]のカスタムフィールドの時

普通に出力したら、pタグもbrタグも入らなくて悲惨な状態に……なんのためのWYSIWYG……

<?php echo wpautop(post_custom('wpcf-example-reason')); //pタグ挿入有 ?>

echoの後の部分を、wpautop()で囲ってあげると、いつものwordpressらしくpタグが出現します。

[画像]のカスタムフィールドの時

普通に出力したら画像のURLになって出てきたので、src属性に突っ込んでもいいのですが……

<?php echo(types_render_field( "sp_eyecatch", array(
    "alt" => get_the_title(), // 記事タイトル
))) ?

alt属性値も設定できるコチラで、imgタグ+src属性が両方いただけていい感じです。

※types_render_fieldはToolset Types(Types)プラグイン用の書き方です。

参考:カスタムフィールドをプラグイン「Toolset Types」で実装する@WordPress

 

そのほかのToolset Types関連記事はこちら

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

コメントは日本語で入力してください。(スパム対策)

CAPTCHA

目次