サポート » 使い方全般 » サイドバー 最近の投稿文字数

  • 解決済 ryu_kun

    (@ryu_kun)


    初めまして、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;}
    ?>

    とあったのですがこれをいまいちどうしてよいのかわからず・・・;;

    どなたかご教示頂けないでしょうか?

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • そのソースをそのままsidebar.phpに貼り付けてみてください。動きが理解できるかもですよ;)

    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

    (@ryu_kun)

    shokun0803 さん、kinkumadesign さん
    返信ありがとうございます。

    直接sidebarでやると確かに動いてます。
    うん・・・だけどまだウィジェットとの併用になれてなくどうもいまいち
    サイドバー内での指定場所でできませんでした;;

    kinkumadesignさんの方法 ばっちりです。希望する内容です。
    だけどやっぱり位置がうまく合わせれない。
    横着というかウィジェットで「最近の投稿」を追加すると自動でなればうれしいのだが;;

    ここはやはりテンプレートの作り方から再度勉強が必要そうです。
    機能的にはいけることがわかったので、試行錯誤して遊んで見ます。

    ありがとうございました

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「サイドバー 最近の投稿文字数」には新たに返信することはできません。