wordpressでのスマホ対応webサイト制作・wpプラグイン・PHPプログラム・SNS活用・ 動画・bgmやテーマ曲アレンジまで考えるコラム!

【phpでWPプラグイン改造】What's New Generatorで、記事タイトル文字数を設定する

      2020/07/15

こんにちは、管理人@SS_mshpです。

今回は、ワードプレスサイトでよく使われる更新情報表示プラグイン『What's New Generator』で、文字数を指定してみます。

phpプログラムをいじって対応するので少し手間がかかりますが、タイトルが長い時などはすっきりさせられるでしょう。さっそくやり方をみていってみます。

■まずは、『What's New Generator』の構成ファイルを確認

『タイトル・表示するコンテンツ・件数・NEW!マーク表示』などの機能はありますが、通常機能にはない『文字数指定』ということなので、どういう風に文字列を取得しているのか・そのファイルは何か、を確認します。


ファイル構成はこんな感じ。本体(whats-new-generator.php)・CSSの他『admin』という管理ページを表示するファイルや、実際に表示する部分のファイルなどがあります。たぶん、ブラウザ表示するファイル(whatsnew-view.php)を書き換えれば大丈夫かと予想しました。

■phpファイル(whatsnew-view.php)の記述を書き換えて、文字数を指定する

■もとの状態のファイル


もとの状態です。タイトル・日付・新着アイコンなどは、このような関数で出力され、CSSでドレスアップして、みんなの目にみえるよう画面に出ます。タイトルは『<?php echo $item->title; ?>』で出るようですね。

■書き換え後


phpで使われる記述『<?php echo mb_substr($item->title, 0, 30).'……'; ?>』というものを書いてみました。これは文字列を取得するもので、『0 30』は、1文字目から31文字目までを取得します(プログラムはゼロからカウントが始まるので。キリが良いのがいい場合は29とかにします)。そのあと、オーバーしたところに『……』が出るように。

あと、頭についてる『mb』は、『マルチバイト』のことだと思います(mbなしの、バイト数を後から指定するものがある)

■ブラウザーでの表示され方

■書き換え前


What's New Generatorのデフォルトでのタイトル出力の様子です。特にこのままでも使えなくはないですが、文字数が指定できないので、タイトルが長いとボックスが長くなり大変でしょう。とくにスマホ。

■書き換え後(1文字目から31文字目指定し、オーバーした分は……を出力)


すっきり短い文で出力されました。とりあえず、文字コードは書き換えたとこには書かなかったけど、文字化けとかも無いようです(たぶん内部エンコードUTF8で利いてる)。

文字化けが万が一発生する場合は、書き換えたコードの内部に文字コード指定を書くと大丈夫かと思います

■あとがき・まとめ

文字数は割とサクっと実装できました。応用すれば『カテゴリー○○番と○○番を取得』みたいなカスタマイズもできると思うので、ぜひ使ってみてください。

プログラムPHPのサイトにも説明があるので、気になったら読んでみてください。
http://php.net/manual/ja/function.substr.php

*アトリエSS・web制作サービスページに移動します。webリニューアル・ロゴ・記事・wordpress化などでお力添えできます。

【カテゴリ】 - WordPressプラグイン情報
【タグ】 - ,

  関連記事

All In One SEO Packの管理画面タイトル・概要カラムって消せる?→manage_edit-post_columnsフックで消せます

今回は、利用者の多いWordPressプラグイン『All In ...

【WPプラグイン無しでサイト構築&表示を速く】Really Simple SSLって無効化して大丈夫?→設定しとけば大丈夫、ただし混在に注意

今回は『プラグイン干渉リスク低減や動作スピードアップ』のために、 ...

【WPプラグイン】WordPress5.0以降のブロックエディタ使いたくない場合→Classic Editorプラグインで旧エディタに戻して記事を書こう

今回は、WordPress5.0から搭載された記事のエディタがし ...

【WPプラグイン】WordPressにサウンドクラウドみたいな波形表示つけたい→WaveSurfer-WPをどうぞ

今回は、以前すこしDJの練習をしていた管理人が、webサイト(w ...

wordpressのリビジョンを、プラグインで制御する方法(revision control)【データベースを軽く】

今回は、wordpressで溜まりすぎるとデータベースを圧迫する ...

【WordPressとGoogleカレンダー連携プラグイン】Simple Calendarの設定・Calendar APIやID取得しての設定

今回は、WordPressサイトに、googleアカウントがある ...

【wordpressで教室・個別相談・サロン予約受付】プラグインEasy Appointmentsの設定・サイト実装方法を詳しく解説

今回は、特定の形態のビジネスで、『カレンダーつき予約フォームで、 ...