前提・実現したいこと
ワードプレスで記事一覧ページを作成するとき、タイトルの文字数に合わせて本文の文字数制限をしたいと考えております。
例えば、
タイトルが20字以下のとき、本文は30字
タイトルが21字以上30字以下のとき、本文は20字
タイトルが31字以上のとき、「...」を表示。本文20字。
このように分岐できればと思います。
使用中のコード(functions.php)
php
1/** 2* 文字数制限 3* $str 文字 ,$int カット文字数,$end 語尾の文字 4* @return str 5*/ 6function na_trim_words($str,$int,$end='…'){ 7 $post_content = strip_tags($str); 8 if(mb_strlen($post_content)>$int ) { 9 $post_content = mb_substr($post_content,0,$int); 10 $post_content = str_replace(array("\r", "\n"), '', $post_content).$end; 11 } else { 12 $post_content = str_replace(array("\r", "\n"), '', $post_content); 13 } 14 return $post_content; 15} 16?>
###アーカイブページのタイトル、本文
php
1<h3> 2<?php 3 if(mb_strlen($post->post_title, 'UTF-8')>17){ 4 $title= mb_substr($post->post_title, 0, 17, 'UTF-8'); 5 echo $title.'...'; 6 }else{ 7 echo $post->post_title; 8} 9?> 10</h3> 11 <p><?php 12 $str = get_the_excerpt(); 13 echo na_trim_words($str,74);?> 14 </p>
試したこと
本文のみfunctionsで字数制限をして、タイトルは記事一覧ページのみで完結したコードを記述しています。
分岐などが一切わかりませんので、教えていただけたらと思います。
宜しくお願いいたします。
あなたの回答
tips
プレビュー