advanced custom fieldsの出力文字に文字制限をかける【wordpress】
advanced custom fieldsで作ったカスタムフィールドに文字制限をかけます。
こちらの方を参考させていただきました(というよりほぼコピペですみません)
Advanced Custom Fieldsで設定したカスタムフィールド値を取得し、文字数制限して表示する | 何か
functions.php
<?php //カスタム投稿タイプ 'custom_description'に文字制限をかける
function character_limit( $max_txt = 40 ){
$max_txt_limit = $max_txt - 1;
if(mb_strlen(get_field('custom_description'))>$max_txt) {
$hoge= mb_substr(get_field('custom_description'),0,$max_txt_limit) ; echo $hoge. '...' ;
} else {echo get_field('custom_description');
}
}
?>
出力側のphp
<?php echo character_limit(50); ?>
例ではcustom_descriptionというカスタム投稿タイプに文字制限をかけています。文字がデフォルトで40文字を超えたら39文字出力して、末尾に…をつけます。
今回使う場所が複数あり、文字制限数も変わるデザインだったので、関数にして使い回せるようにしました。
出力側のcharacter_limit(50)で50文字で文字制限できます。