dポイントプレゼントキャンペーン実施中!

お世話になっております。

function.php内で定義した関数で、
HTML上のtitleタグ内に、個別の値を入れたいのですが、

------function.php--------
function my_title() {

$blogtitle = bloginfo('name');
~~~
$title1 = $parent_name. 'のグループ|'. $blogtitle;

return $title1;


function.php内で上記のように戻り値を設定した場合、


<title><?php echo my_title(); ?></title>
上記の出力では、$blogtitleが一番最初に表示されて出力されてその後に「 $parent_name. 'のグループ|'」の文字がくるのですが、
何か書き方の間違いでしょうか??

A 回答 (2件)

関数 bloginfo()で直接 echo されているのでしょう。



もし、WordPressでしたら bloginfo()ではなく、get_bloginfo()を
http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3% …

自作の関数で、戻り値を変数に入れたいなら、echo ~ではなく return ~ しなければなりません。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
get_bloginfo()

$title1 = $parent_name. 'のグループ&nbsp;|&nbsp;'. $blogtitle;

$title1 = $parent_name. 'のグループ&nbsp;|&nbsp;'. get_bloginfo('name');

get_bloginfoを使用したところ思い通りの結果になりました。

気付いた点のメモですが、
the_title()なども後ろにつけると一番前に行ってしまうようです。

、、助かりました。ありがとうございました!

お礼日時:2011/09/30 02:19

ユーザー定義の my_title() 関数の詳細が分からないので、なんともいえませんが、my_title()内部で


htmlspecialcharsのような処理をしているのでしょうから、
$title1 = $parent_name. 'のグループ|'. $blogtitle;
の部分のを普通の半角スペースにすればよいと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!