the_title()を編集したい場合 get_the_title()

2016.01.13
広島県福山市でホームページ制作をしている個人事務所Toftです。

WordPressの投稿のタイトルを編集して出力したいという事例に出くわしたので、紹介しておこうと思います。

たとえば、投稿の一覧表示のタイトルに
「年末年始の営業について|広島県福山市Toft」のようにブログのタイトル名「|広島県福山市Toft」が毎回付いていると見栄えがあまり良くないですよね。

うちのHPの表示で言うと、こんな感じです。
名称未設定 1

そんなわけで、
「|広島県福山市Toft」を切り捨てるために
さっそくphpのstrstr関数を使ってやってみることに。

<?php echo strstr(the_title(),"|",TRUE); ?>

よし、できた!と思いましたが、表示はソースを編集する前と変わらない・・・。

なぜ?(;_;)

いくつか方法を試していると、
『the_title()』
を書いている時点でそのまま強制的に表示になっているということが分かりました。
そもそも『the_title()』を書くときは、『echo』を付けないので当たり前といえば当たり前ですが。

ん~どうしようかなぁと思い、『the_title()』の代わりとなる関数を探してみるのですが、すぐには見つからず・・・。

そうしているうちに、ある英語の質問投稿サイトで『get_the_title()』という変数を発見!

これだ!と思い使ってみると、

<?php echo strstr(get_the_title(),"|",TRUE); ?>

blog_after

できました!!
これで見た目もすっきりです。
『get_the_title()』について調べてみたところ、ただ単にタイトルを取得するだけの関数のようです。
『echo』の機能は含まれていないため、『get_the_title()』を使う場合は『echo get_the_title();』としなければいけません。

タイトルを表示するときには、『the_title()』しか使ったことがなかったので、『get_the_title()』の存在は全然知りませんでした。

投稿のタイトルを編集して表示するということはあまりないのか
なかなか情報が出てこなかったので(『get_the_title()』のみで検索するとすぐ見つかります。)、タイトルを編集しないといけないという事例に出くわした方は参考にして頂けたらと思います。

では、今日はこの辺で。

おすすめアプリ!

tyokin


Fatal error: Uncaught ArgumentCountError: Too few arguments to function Minify_HTML::__construct(), 0 passed in /home/toft/www/toft/wp-content/plugins/autoptimize/classes/autoptimizeHTML.php on line 51 and at least 1 expected in /home/toft/www/toft/wp-content/plugins/autoptimize/classes/external/php/minify-html.php:69 Stack trace: #0 /home/toft/www/toft/wp-content/plugins/autoptimize/classes/autoptimizeHTML.php(51): Minify_HTML->__construct() #1 /home/toft/www/toft/wp-content/plugins/autoptimize/autoptimize.php(250): autoptimizeHTML->minify() #2 [internal function]: autoptimize_end_buffering('<!DOCTYPE html>...', 9) #3 /home/toft/www/toft/wp-includes/functions.php(3778): ob_end_flush() #4 /home/toft/www/toft/wp-includes/class-wp-hook.php(286): wp_ob_end_flush_all('') #5 /home/toft/www/toft/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters('', Array) #6 /home/toft/www/toft/wp-includes/plugin.php(453): WP_Hook->do_action(Array) #7 /home/toft/www/toft/wp-includes/load.php(679): do_action('shutdown') #8 [internal fun in /home/toft/www/toft/wp-content/plugins/autoptimize/classes/external/php/minify-html.php on line 69