サポート » 使い方全般 » 文字数制限をショートコードで個別に指定

  • 解決済 poncyan

    (@poncyan)


    記事一覧をfunctions.phpでショートコードで作成しています。

    functions.phpの中身はこんな感じです。
    こちらのショートコード [newslist]で使用している
    タイトル部分(.get_the_title().)の文字数だけを変更したいです。
    ちなみに、他の部分でも他のショートコードで記事一覧を表示させているので、
    タイトル全体の文字数ではなく、ショートコード [newslist]のタイトルの文字数だけを変更したいです。

    function news_list() { 
      global $post;
      $args = array( 
      	'posts_per_page' => 5, // 表示件数の指定
      );
      $posts_array = get_posts($args);
      $html = '<div>';
      foreach($posts_array as $post):
        setup_postdata($post);
        $html .= '<a href="'.get_permalink().'">'.get_the_title().'</a>
    ';
      endforeach;
      $html .= '</div>';
      wp_reset_postdata();
      return $html;
    }
    add_shortcode('newslist', 'news_list');

    https://meshikui.com/2018/05/23/254/
    こちらのように()内に数字を入れるだけで簡単に変更ができれば良いのですが、どのようにしたら良いかわからずご教示お願いします。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • こんにちは

    参考サイトのコードは最後で文字列を echo しているので return に書き換えれば、HTML タグを含まないタイトルならできると思います。
    ただし、タイトルは HTML タグが含まれている可能性があるので、wp_html_excerpt() などを使用したほうが安全です。

    例:
    get_the_title()

    wp_html_excerpt( get_the_title(), 20, '...' )

    トピック投稿者 poncyan

    (@poncyan)

    できました^^助かりました!ありがとうとございます!

    トピック投稿者 poncyan

    (@poncyan)

    いつもありがとうございます

    • この返信は2年、 9ヶ月前にponcyanが編集しました。
3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「文字数制限をショートコードで個別に指定」には新たに返信することはできません。