ryu_kun
メンバー
2 years前の投稿 #
初めまして、ryu_kunといいます。
現在WP2.7.1を利用したHPを運営しております。
そのサイトで今回1点問題が発生し、試行錯誤しておるのですが解決方法がみつからず
挫折気味。
問題点というのは
・サイドバーの「最近の投稿」にてタイトル文字数が多い場合改行してレイアウトが崩れる。
希望として
・サイドバーの「最近の投稿」には表示文字数制限をしたい
例:表示10文字以下... 等。
また現在サイドバーはWPのウィジェットを利用して表示しております。
色々調べたところ「INO-IZM -blog-」というブログで
個人的にタイトル数が一定の文字数を超えたら・・・をつけて省略したかったので改造。
if(mb_strlen($post->post_title)>10) {
$title= mb_substr($post->post_title,0,10);
echo $title.…;} else {
echo $post->post_title;}
?>
とあったのですがこれをいまいちどうしてよいのかわからず・・・;;
どなたかご教示頂けないでしょうか?
そのソースをそのままsidebar.phpに貼り付けてみてください。動きが理解できるかもですよ;)
kinkumadesign
メンバー
2 years前の投稿 #
shokun0803さんのおっしゃるように、プログラムはわからなければ動かしてみた方がいいですね。
習うより慣れろみたいな。
書かれていたプログラムは1つの投稿データのタイトルをひっぱってきて、文字数が多かったら分岐して吐き出すというものです。
以下のプログラムでご希望のものに近いものはできます。
<ul>
<?php
$lastposts = get_posts('numberposts=5');
foreach($lastposts as $post) :
setup_postdata($post);
$post_title = $post->post_title;
if(mb_strlen($post_title)>10) {
$post_title = mb_substr($post_title,0,10).'...';
}
?>
<li><a href="<?php the_permalink(); ?>" id="post-<?php the_ID(); ?>"><?php echo $post_title; ?></a></li>
<?php endforeach; ?>
</ul>
ただ、これだと全角・半角を全て1文字と数えてしまうため、横幅を揃えるという目的には1歩及びません。phpで、全角・半角を考慮して横幅をそろえるのは、割と面倒みたいです。
ryu_kun
メンバー
2 years前の投稿 #
shokun0803 さん、kinkumadesign さん
返信ありがとうございます。
直接sidebarでやると確かに動いてます。
うん・・・だけどまだウィジェットとの併用になれてなくどうもいまいち
サイドバー内での指定場所でできませんでした;;
kinkumadesignさんの方法 ばっちりです。希望する内容です。
だけどやっぱり位置がうまく合わせれない。
横着というかウィジェットで「最近の投稿」を追加すると自動でなればうれしいのだが;;
ここはやはりテンプレートの作り方から再度勉強が必要そうです。
機能的にはいけることがわかったので、試行錯誤して遊んで見ます。
ありがとうございました