[wp]カスタムフィールド出力メモ

忘れる。詳細はネット上に腐るほど公開されてるので、自分に必要な最低限だけ。

AdvancedCustomFields

基本

<?php
if(get_field('***')):
    the_field('***');
endif;
?>
または
<?php
$xxx = get_field('***'));
if($xxx):
    echo $xxx;
endif;
?>

get_field()による条件分岐の活用を念頭に置けば、「入力してなかったら非表示」を組み込める。tableとかでフォーマットを組むときに便利。

get_field()をechoで出力することもできるんで、なんだったら変数化してもいい。

注意点

基本的には上記の使い回しで行けるんだけど、チェックボックスは配列だとか、画像はACF設定時に出力内容を指定するだとか、そこらへんは注意が必要。

Advance Custom fields(ACF)の出力方法まとめ【個別・一括】 | ガリレオ アンド ヴィーナス合同会社
「Advance Custom fieldsって何?」という方は、下記記事をご確認ください。出力方法一覧基本の出力テキスト系や画像(URLの場合)、選択肢で返り値が一つの場合などに使用できます。

繰り返し

以前からある繰り返し用の追加プラグインの書き方なんで、現行の有料拡張が同じかはわからない。

<?php
while(the_repeater_field('***')):
    $xxx = get_sub_field('xxx');
    if($xxx):
        echo $xxx;
    endif;
endwhile;
?>

whileで回す。繰り返しの内容にあたる奴らの名前は他の繰り返しと重複しても平気っちゃ平気だけど、ユニークにしたほうが無難。

SmartCustomFields

基本

<?php
$*** = scf::get('xxx');
if($***):
    echo $***;
    echo nl2br($xxx); //改行
endif;
?>

変数に放り込むパターンが多い。

そのまま書き出すと<br>は挿入されない。記入時の改行自体は生きてるんで、書き出す際にnl2br()で囲えばいい。

プラグイン側がシンプルすぎるので出力時に色々指定したりすることになる。

https://millmi.com/1461/

繰り返し

<?php
    $*** = SCF::get('xxx');
    foreach ($*** as $fields): 
?>
    <?php echo $fields['○○○']; ?>
<?php endforeach; ?>

foreachで回す。変数名を1つ作らなきゃいけない($fields)んで、もし他と重複したらめんどい。

コメント

タイトルとURLをコピーしました