WordPressでブログ記事のタイトルを自動的に切り詰める方法

初めてコンテンツの多いWordPressサイトを立ち上げたとき、ブログ記事のタイトルが問題になるとは思ってもいませんでした。長いタイトルのいくつかは美しいレイアウトを壊し、他のいくつかはモバイルデバイスで見栄えが悪く見えました。

複数のWordPressサイトを管理し、ウェブサイトの所有者を支援してきた長年の経験から、投稿タイトルを短縮することで、視聴者の注意を引きつける、一貫性のある洗練された外観を確保できることがわかりました。

このガイドでは、PHPを使用してWordPressブログのタイトルを自動的に短縮する効果的なテクニックを共有し、すべてをシャープに見せるのに役立ちます。

WordPressでブログ記事のタイトルを自動的に切り詰める方法

なぜPHPでWordPressの投稿タイトルを切り詰めるのか?

PHPを使用してWordPressで投稿タイトルを切り詰めることで、投稿タイトルの長さとウェブサイトでの表示方法をより細かく制御できます。

例えば、ホームページで長い投稿タイトルを切り取って、WordPressブログのデザインを崩さないようにしたい場合があります。

投稿の切り詰め例

そうすることで、ブログを視覚的に美しく、読者にとってナビゲートしやすい状態に保つことができます。

注意: 短いタイトルを使用してブログ投稿をSEO向けに最適化することが目的の場合、抜粋は必要ないかもしれません。代わりに、WordPress SEOプラグインを使用すると、短く効果的なSEOタイトルタグの作成が簡単になります。

サイトでは長い投稿タイトルを訪問者向けに維持しながら、検索結果ページのカスタムSEOタイトルを作成できるため、All in One SEO(AIOSEO)をお勧めします。

詳細については、AIOSEOを正しく設定する方法に関する究極のガイドをご覧ください。

さて、PHPを使用してサイトでWordPressの投稿タイトルを切り詰める2つの方法を見ていきましょう。

  1. 方法1:WordPress関数でWordPress投稿タイトルを切り詰める
  2. 方法2:WordPressテーマファイルを変更してPHPでWordPress投稿タイトルを切り詰める

方法1:WordPress関数でWordPress投稿タイトルを切り詰める

WordPressでWordPressの投稿タイトルを切り詰める最も簡単な方法は、WordPressファイルにPHPコードを追加することです。これを以前に行ったことがない場合は、WordPressでコードをコピー&ペーストする方法に関するガイドをご覧ください。

多くのチュートリアルでは、コードをテーマのfunctions.phpファイルに直接追加するように指示しています。しかし、間違いがあるとエラーが発生したり、サイトが破損したりする可能性があります。

そのため、代わりに無料のWPCodeプラグインを使用することをお勧めします。これは、テーマファイルを直接変更することなく、WordPressサイトにカスタムコードを追加および管理するのに便利なツールです。

WPBeginnerでは、カスタムコードスニペットを追加および管理するためにこのプラグインを利用しています。詳細については、WPCodeの完全レビューをご覧ください。

まず、WPCode無料プラグインをインストールして有効化する必要があります。これに役立つ場合は、WordPressプラグインのインストール方法に関するステップバイステップガイドをご覧ください。

アクティベートしたら、管理サイドバーから Code Snippets » + Add Snippet を選択します。次に、「カスタムコードを追加(新規スニペット)」オプションにマウスカーソルを合わせ、「カスタムスニペットを追加」ボタンをクリックします。

WPCode カスタムコードを追加

これにより新しいページが開かれ、スニペットのタイトルを入力してからコードを追加できます。

以下のコードをWPCodeのコードプレビューペインにコピー&ペーストするだけです。

function max_title_length( $title ) {
$max = 35;
if( strlen( $title ) > $max ) {
return substr( $title, 0, $max ). " …";
} else {
return $title;
}
}

add_filter( 'the_title', 'max_title_length');

コードを追加すると、このようになります。

WPCodeを使用した見出しの切り詰め

このコードはWordPressの投稿ループ内で実行され、ブログ投稿タイトルを35文字に短縮します。タイトルの長さを変更するには、$max変数を希望のタイトル長に設定するだけです。

ヘルプが必要な場合は、WordPressにカスタムコードを追加する方法に関する記事をご覧ください。

次に、コードタイプのドロップダウンメニューから「PHPスニペット」を選択する必要があります。

最後に、アクティブ設定をオンに切り替え、[スニペットを保存]ボタンをクリックしてスニペットを保存する必要があります。

WPCodeを使用した見出しの切り詰め

コードスニペットが有効になったので、ブログの投稿タイトルは、WordPressウェブサイトのどこに表示されても短縮されます。

下のスクリーンショットに示すように、タイトルは35文字で停止し、末尾に省略記号「…」が続きます。

WPCode 抜粋例

方法2:WordPressテーマファイルを変更してPHPでWordPress投稿タイトルを切り詰める

WordPressの投稿タイトルを切り詰める別の方法は、WordPressテーマファイルに直接コードを追加することです。

この方法により、タイトルの短縮箇所をより細かく制御できます。例えば、ホームページでのみタイトルを切り詰め、ブログ記事ではフルレングスのタイトルを表示したい場合があります。

⚠️ プロのヒント: 手順2に進む前に、テーマを更新するとカスタムの変更が上書きされる可能性があることを忘れないでください。

カスタマイズを失うことなくサイトを最新の状態に保つには、WordPressテーマのカスタマイズを失わずに更新する方法に関するガイドをご覧ください。

これを行うには、ブログ記事のタイトルを切り詰めたい場所にPHPコードを直接WordPressのテーマファイルに追加する必要があります。

例えば、以下のコードスニペットを index.php ファイルに追加することで、WordPressの投稿ループ内の既存の the_title タグを置き換え、サイト全体のタイトル長を変更できます。

<a href="<?php the_permalink() ?>">
<?php
$thetitle = $post->post_title; /* or you can use get_the_title() */
$getlength = strlen($thetitle);
$thelength = 25;
echo substr($thetitle, 0, $thelength);
if ($getlength > $thelength) echo "...";
?>
</a>

このコードは、投稿タイトルの長さを25文字に設定します。タイトルの長さが25文字より長い場合、25文字で切り取られ、末尾に省略記号「…」が追加されます。

ウェブサイトの文字数を変更するには、$thelength変数を希望の文字数に変更するだけです。

コードを追加してファイルを保存したら、WordPressホスティングアカウントのテーマディレクトリにアップロードする必要があります。

FTPクライアントまたはWordPressホスティングコントロールパネルのファイルマネージャーツールを使用してこれを行うことができます。FTPを初めて使用する場合は、WordPressにファイルをアップロードするためにFTPを使用する方法に関するガイドをご覧ください。

コードが追加されると、投稿タイトルは設定した文字数に切り捨てられます。

この記事がPHPでWordPressの投稿タイトルを切り詰める方法を学ぶのに役立ったことを願っています。また、素晴らしいブログ記事の書き方に関するガイドや、WordPress向けの最高のコンテンツマーケティングツールとプラグインの専門家による選び方もご覧ください。

この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterFacebookでもフォローできます。

開示:当社のコンテンツは読者によってサポートされています。これは、当社のリンクの一部をクリックすると、当社が手数料を得る可能性があることを意味します。WPBeginnerがどのように資金提供されているか、それがなぜ重要か、そしてどのように私たちをサポートできるかについては、こちらをご覧ください。当社の編集プロセスはこちらです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

21 CommentsLeave a Reply

  1. 長いタイトルを整理するのに最適なソリューションです!
    特にキャッチーな見出しの場合、手に負えなくなることがあります。このカスタム関数は実装が簡単そうですが、PHPの部分は友人に手伝ってもらう必要があるかもしれません。

  2. previous_post_link(); のリンクタイトルを切り詰める方法を知っている人はいますか?

    ありがとう

  3. ありがとうございます、完璧に機能しました!これを実行するためだけにプラグインを使いたくなかったので、あなたのコードでタイトルを適切に短縮できて満足しています。

    再度ありがとうございます!

  4. こんにちは。これをまとめてくれてありがとうございます!たまたま、これを実現する別の例を見つけたのですが、それはずっと簡単そうだったので、皆さんに共有して、どう思うか見てみたいと思います。

    functions.php:

    function new_excerpt_length($length) { return 100; } add_filter(‘excerpt_length’, ‘new_excerpt_length’);

  5. こんにちは!
    これは英語以外の言語を使用すると機能しません。デフォルトのコードと比較して、コードがå ä öを翻訳しないため、私のスウェーデン語のタイトルはひどい見た目です。どうすればよいか何か提案はありますか?これは良いトリックなので、使いたいです。

    Lillanより

  6. strlen() は使用しないでください。mb_strlen() または strlen(utf8_decode($str)) を使用してください。マルチバイト文字内で文字列が切り捨てられるリスクがあります。mb_substr() も同様です。

    Oh, and an ellipsis is one character: … :)

    • ありがとうございます!! mb_strlen()とmb_substrでエンコーディングの問題が解決しました。何時間も探していました!

    • BIG tnx!
       
      mb_strlen() も、スウェーデン語でも(今のところ見るところ)機能するようです

返信する

コメントを残していただきありがとうございます。すべてのコメントは、当社のコメントポリシーに従ってモデレーションされますので、ご了承ください。メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で有意義な会話をしましょう。