###目的
カスタムフィールドの文字数をカウントしたいです。
具体的には次のテンプレートで<div class="mess-area"></div>
の文字数と<div class="text-area"></div>
の文字数の合計です。
php
1<div class="mess-area"> 2 <?php 3 $field1 = SCF::get('field1'); 4 echo '<div class="field1">'.wpautop($field1).'</div>'; 5 ?> 6</div> 7 8<div class="text-area"> 9 <?php 10 $field_group = SCF::get('field_group'); 11 foreach ( $field_group as $field_value ) { 12 ?> 13 <div> 14 <?php 15 echo '<h2>'.$field_value['field2_title'].'</h2>'; 16 echo '<div>'.wpautop($field_value['field2_text']).'</div>'; 17 ?> 18 </div> 19 <?php 20 } 21 ?> 22</div>
###やってみたこと
functions.phpに次のように書いてみまました。
しかし、$num2
の値が取得できません。['field2_text']
は繰り返され複数あるのですが、はじめの['field2_text']
の文字数だけしか取得できていないのです。
php
1function countdown() { 2 3 $field1 = SCF::get('field1'); 4 $num1 = floor( mb_strlen( strip_tags( $field1 ) ) ) ; 5 6 $field_group = SCF::get('field_group'); 7 foreach ( $field_group as $field_value ) { 8 $num2 = floor( mb_strlen( strip_tags( $field_value['field2_text'] ) ) ) ; 9 } 10 11 $total = $num1 + $num2; 12 $min = floor( $total / 600 ); 13 $sec = floor( $total % 600 /10 ) ; 14 15 if($min == 0 && $sec == 0) 16 $sec = 1; 17 echo '<span>'.$min.' 分'.$sec.'秒</span>'; 18 19}
php
1<p><span><?php countdown() ;?></span>で読めます。</p>
どなたか正しい書き方をご教示いただけませんでしょうか?
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー