レイアウト「パネル」で表示される記事タイトルの文字数を制限したい

0
いいねをした人: 居ません
  • このトピックには5件の返信、2人の参加者があり、最後にrumix63により2年、 11ヶ月前に更新されました。
6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • 投稿者
    投稿
  • #94341
    rumix63
    参加者
    8

    【お使いの Snow Monkey のバージョン】バージョン: 15.18.0
    【お使いの Snow Monkey Blocks のバージョン】バージョン 13.7.3
    【お使いの Snow Monkey Editor のバージョン】バージョン 6.2.1
    【お使いのブラウザ】Chrome
    【当該サイトのURL】

    ### 実現したいこと

    固定ページで「最近の投稿」ブロック>レイアウト「パネル」において、
    表示される記事タイトルの文字数を制限して、制限文字数以上は「…」を挿入して揃えたいと思っております。

    ### 発生している問題

    下記記事を参考にMy Snow Monkeyにてためしてみましたが、
    レイアウト「リッチメディア」ですと、適用されるのですが「パネル」だとうまくいかず、
    フォーラムでも他に見つからなかったためご質問させて頂きました。

    いつもフォーラムを大変活用させて頂いています、あとアドベントカレンダーも毎日楽しみにしています、ありがとうございます!

    どなたかご教授いただけましたら幸いです。
    よろしくお願い致します。

    https://snow-monkey.2inc.org/forums/topic/%e8%a8%98%e4%ba%8b%e4%b8%80%e8%a6%a7%e3%81%ae%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab%e3%81%ae%e6%96%87%e5%ad%97%e6%95%b0%e5%a4%89%e6%9b%b4/

    ### 試したこと

    0
    いいねをした人: 居ません
    #94540
    rumix63
    参加者
    8

    大変失礼致しました、添付した画像では情報が少なくて、分かりにくい状態でしたので
    下記追加いたしました。

    よろしくお願い致します。

     

    0
    いいねをした人: 居ません
    #94696
    アバター画像キタジマ タカシ
    参加者
    2421

    返信おそくなりすみません!

    ちょっと簡単にやる方法がないのですが、とりあえずこんな感じでできるかなと思います。試してみてください!

    1. 子テーマ、あるいは My Snow Monkey でテンプレートを上書きできるようにしたあとで、template-parts/loop/entry-summary/content/content-post.php を作成。

    2. template-parts/loop/entry-summary/content/content-post.php に下記のコードを記述。

    <?php
    // @see https://developer.wordpress.org/reference/hooks/excerpt_length/
    $my_trim_excerpt = function( $number = null ) {
      return 55; // 任意の文字数を指定
    }
    
    add_filter( 'excerpt_length', $my_trim_excerpt, 101 );
    ob_start();
    the_excerpt();
    $content = wp_strip_all_tags( ob_get_clean() );
    remove_filter( 'excerpt_length', $my_trim_excerpt, 101 );
    
    if ( ! $content ) {
    	return;
    }
    ?>
    
    <div class="c-entry-summary__content">
    	<?php echo esc_html( $content ); ?>
    </div>

    厳密に文字数を指定する必要がないのであれば、CSS の text-overflow を使ったほうが管理しやすいかもしれません(僕は使ったことがないので詳しくはわかりませんが…)。

    0
    いいねをした人: 居ません
    #94878
    rumix63
    参加者
    8

    @キタジマ タカシ さん
    お忙しいところ、お返事頂きありがとうございました!

    My Snow Monkeyでテンプレート上書き準備して、
    content-post.phpファイルを作成し、解説頂いたコードを試してみたのですがうまくいかずエラーが出てしまうので、解読しようと色々と調べていたらお返事が遅くなってしまいました。。すみません。

    と同時にアドバイス頂いたCSSでの対応方法も調べて、やってみました。
    こちらもありがとうございます。

    キタジマさんがおっしゃるように、
    管理する上で後から見て分かりやすいのはCSSで調整の方が良いなと思ったのと、文字数を厳密に指定する必要はなく(最近の投稿ブロックでレイアウト>パネルで表示の際に3行以内にして欲しい)、レスポンシブでも各ブロックでの表示タイトルをスッキリ見せたかったので下記リンクを参考にCSSでの調整に至りました。

    https://developer.mozilla.org/ja/docs/Web/CSS/text-overflow

    /*記事タイトル3行までを表示して、末尾に「...」を挿入 */
    .c-entry-summary__title {
      overflow: hidden;
      text-overflow: ellipsis;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3;
    }

    IEや一部Firefoxに対応していないコードが含まれるので、お客様にお伝えしてこちらで調整しました。

    お忙しい中、お時間をさいて頂きありがとうございました!
    (content-post.phpのコードはまだ格闘中です、、、)

    1
    いいねをした人:
    #94881
    アバター画像キタジマ タカシ
    参加者
    2421

    わーすみません!セミコロンが一部抜けておりました。。。正しくはこうです。

    <?php
    // @see https://developer.wordpress.org/reference/hooks/excerpt_length/
    $my_trim_excerpt = function( $number = null ) {
      return 55; // 任意の文字数を指定
    }; // ← ここが不足していました…
    
    add_filter( 'excerpt_length', $my_trim_excerpt, 101 );
    ob_start();
    the_excerpt();
    $content = wp_strip_all_tags( ob_get_clean() );
    remove_filter( 'excerpt_length', $my_trim_excerpt, 101 );
    
    if ( ! $content ) {
    	return;
    }
    ?>
    
    <div class="c-entry-summary__content">
    	<?php echo esc_html( $content ); ?>
    </div>
    0
    いいねをした人: 居ません
    #95299
    rumix63
    参加者
    8

    @キタジマ タカシ さん

    お返事遅くなり申し訳ありません。
    コード確認して頂きありがとうございました!
    セミコロン、、すみません私も見逃しておりました。

    上記でエラーは無くなったのですが、表示は変わらずでした。
    もう少し確認してみます、お忙しいところ解説頂き、また確認までありがとうございました!

    一旦、トピック閉じますね。
    寒い日が続いていますが、どうかお身体ご自愛ください。

    1
    いいねをした人:
6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • トピック「レイアウト「パネル」で表示される記事タイトルの文字数を制限したい」には新しい返信をつけることはできません。

ドキュメント

Snow Monkey の設定方法やマニュアルを掲載しています。

ドキュメント

フォーラム

Snow Monkey の使い方やカスタマイズについてのご質問・ご要望等はサポートフォーラムで行っています。サポートフォーラムは誰でも閲覧できますが、書き込みできるのは Snow Monkey 購入者のみとなります。

サポートフォーラム

よくあるご質問

Snow Monkey のサービスについて不明な点がある場合は、まずはよくあるご質問をご確認ください。

よくあるご質問

お問い合わせ

よくあるご質問を見ても解決しなかった場合、試用版の申請については問い合わせフォームからお願いいたします。

お問い合わせ

Snow Monkey は Gutenberg ブロックエディターに対応した 100%GPL の WordPress テーマです。拡張性を意識した開発をおこなっており、カスタマイザーとブロックでスピーディーにサイトを立ち上げるだけでなく、CSS やフックを駆使した高度なカスタマイズにも柔軟に対応できます。