GHWEB06.GRASSHOPPER

WordPress、the_title()に使っているsprintfって何?

  • Category:Web関連
  • Web関連の備忘録

wp1WordPressの公式テーマでsprintfを使っている部分をよく見ますが、これって何?って思われる方もおられるかと思いますので何をやっているのかざっくり説明します。

試用バージョン:Wordpress 4.1

sprintf を使ったWordPressのソース

<?php
the_title( sprintf( '<h2><a href="%s">', esc_url( get_permalink() ) ), '</a></h2>' );
?>

解り辛い場合は、分解して考えてみる

sprintf

sprintf を使うとフォーマットに引数を渡した文字列を返せます。

<?php
$url 	= 'http://ghweb.info';
$format = '<a href="%s">06.GRASSHOPPER</a>';
echo sprintf($format, $num);
?>
// 結果:<a href="http://ghweb.info">06.GRASSHOPPER</a>

the_title()

the_title() は、現在の投稿のタイトルを表示するWordPressのテンプレートタグです

<?php the_title( $before, $after, $echo ); ?>
$before タイトルの前に置くテキスト(初期値: なし)
$after タイトルの後ろに置くテキスト(初期値: なし)
$echo タイトルを表示(TRUE)または返します(FALSE)(初期値: TRUE)

the_title() の使い方

<?php the_title( '<h2>', '</h2>' ); ?>

<h2>タイトル</h2> //結果

the_title() に sprintf を組みこむ

sprintf の処理部分は、the_title( ‘<h2>’, ‘</h2>’ ); で言うところの<h2>になります。
上の方で説明したsprintf のソースを組みむとこんな感じです。

<?php
$url 	= esc_url( get_permalink() ); //$url = 'http://ghweb.info';
$format = '<h2><a href="%s">';
the_title( sprintf( $format, $url ), '</a></h2>' );
?>

難しく書かなくても出来ます

結果は同じなのでこのように書いても良いですが、
色んな書き方を知っていると他でも使えますでの是非お試しを

<h2><a href="<?php echo esc_url( get_permalink() ); ?>"><?php the_title(); ?></a></h2>
  • 掲載: