変数に格納する文字列の表示方法

このQ&Aのポイント
  • function.php内で定義した関数で、HTML上のtitleタグ内に、個別の値を入れる方法について教えてください。
  • function.php内の関数で戻り値を設定し、それを<title>タグ内で表示する方法についてご質問です。
  • function.php内の関数で戻り値を設定した場合、$title1の出力が思った通りにならないのですが、書き方に問題があるでしょうか?
回答を見る
  • ベストアンサー

変数に格納する文字列の表示方法

お世話になっております。 function.php内で定義した関数で、 HTML上のtitleタグ内に、個別の値を入れたいのですが、 ------function.php-------- function my_title() { $blogtitle = bloginfo('name'); ~~~ $title1 = $parent_name. 'のグループ&nbsp;|&nbsp;'. $blogtitle; return $title1; } function.php内で上記のように戻り値を設定した場合、 <title><?php echo my_title(); ?></title> 上記の出力では、$blogtitleが一番最初に表示されて出力されてその後に「 $parent_name. 'のグループ&nbsp;|&nbsp;'」の文字がくるのですが、 何か書き方の間違いでしょうか??

  • PHP
  • 回答数2
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • JaneDue
  • ベストアンサー率75% (263/350)
回答No.2

関数 bloginfo()で直接 echo されているのでしょう。 もし、WordPressでしたら bloginfo()ではなく、get_bloginfo()を http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/get_bloginfo 自作の関数で、戻り値を変数に入れたいなら、echo ~ではなく return ~ しなければなりません。

kubotan8
質問者

お礼

ご回答ありがとうございます。 get_bloginfo() $title1 = $parent_name. 'のグループ&nbsp;|&nbsp;'. $blogtitle; ↓ $title1 = $parent_name. 'のグループ&nbsp;|&nbsp;'. get_bloginfo('name'); get_bloginfoを使用したところ思い通りの結果になりました。 気付いた点のメモですが、 the_title()なども後ろにつけると一番前に行ってしまうようです。 、、助かりました。ありがとうございました!

その他の回答 (1)

回答No.1

ユーザー定義の my_title() 関数の詳細が分からないので、なんともいえませんが、my_title()内部で htmlspecialcharsのような処理をしているのでしょうから、 $title1 = $parent_name. 'のグループ&nbsp;|&nbsp;'. $blogtitle; の部分の&nbsp;を普通の半角スペースにすればよいと思います。

関連するQ&A

  • 参照渡しからの配列変数名取得。

    現在PHPを勉強中で、 以下のようなスクリプトを書いていて <?php function character(&$target) { $arrayName = $target."_name"; echo ($arrayName); } $animals[] = 'いぬ'; $animals[] = 'さる'; $animals[] = 'きじ'; character($animals); echo ("<br />"); $fish[] = 'まぐろ'; $fish[] = 'ひらめ'; $fish[] = 'かつお'; $fish[] = 'あじ'; character($fish); ?> このようにすると$arrayNameの出力が2つともArray_nameとなってしまうので、 この部分を各配列の変数名($animals_name、$fish_name)のように個別に 出力できるようにしたいのですが、どのように書けば出来るのでしょうか? 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • wordpressのdescription設定

    wordpress、phpの初心者です。 SEO対策のために、descriptionを全ページ、コンテンツに適したもので出力できればと思い、 ・トップページは一般設定の「キャッチフレーズ」 ・カテゴリーページは「カテゴリーの説明文」 ・投稿ページは「カスタムフィールド」 ・それ以外、及びカスタムフィールドが入力されていない投稿ページは「ページタイトル | 一般設定のキャッチフレーズ」 上記の用に出力できるよう、ググって色んなサイトを参考に下記のように記述したのですが、 真っ白になって表示されません。 <?php if (is_home()) { echo '<meta name="description" content="<?php bloginfo('description'); ?>" />'; } elseif (is_category()) { echo '<meta name="description" content="<?php echo category_description(); ?>" />'; } elseif(is_single()){ echo '<meta name="description" content="<?php echo get_post_meta($post->ID,'description',true);?>" />'; } else { echo '<meta name="description" content="<?php wp_title('|', true, 'right'); bloginfo('description'); ?>" />'; }?> プラグインもイマイチ希望のものが見つからず、 何とか試行錯誤しているのですが、未だに解決出来ずにいます。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 値を戻すとは

    すいません。PHPの勉強を始めたのですが、解説サイトを見ても どうしてもわからない部分があります。 下記の関数のreturnの部分ですが、これechoに置き換えても同様の結果が得られますよね? どの解説サイトを見ても 「echoは戻り値が無く、出力を行う、returnは値を戻し、プログラムが終了する」 とだけしか説明は無く、それ以上の解説は見当たらないのですが、私には両者の違いがいまいち分かりません。 似たようなユーザー定義関数をウェブで拾ってきて、returnをechoに置き換えてみたりもしているのですが、全部結果は同じでした。 この2つはどのように使い分けるのでしょうか?? <?php function tashizan( $number ) { return $number + 50; } // tashizan() echo tashizan( 50 ); ?>

    • 締切済み
    • PHP
  • echoの直後に変数(文字列ではなく)を記述?

    echoの正しい記述方法についてご質問します。 echoの直後に変数(文字列ではなく)を記述する場合の質問です。この場合、echoを使用して「変数です」と出力(「」は、出力しません。)するには、以下の例の内、どの記述が正しい(又は最も良い)のでしょうか? 例1: <?php $var = "変数"; echo $var,'です'; ?> 例2: <?php $var = "変数"; echo ',$var,です'; ?> 例3: <?php $var = "変数"; echo '$var,です'; ?> また、上記よりもっと良い記述方法があれば、お教え下さい。 この質問の内容に関して詳細な情報が記載されているサイト等をご存知でしたら、お教え下さい。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • LoadVarsでPHPから変数を読み込む件について

    質問させていただきます。 PHPで、変数$usernameに入っている値をActionScriptに渡したいのですが、上手くいきません。 ■PHP側 echo "name=".$username; ■ActionScript側 var username: LoadVars = new LoadVars(); username.onData = function(src) {  if (src == undefined) {   trace("Error loading content.");  }  trace(src); }; username.load("./view.php"); trace(username.name); 試しに上記のような形で実行してみました。 onDataの中の「trace(src)」の出力によると、PHPを読み込んではいるのですが、echoの部分だけではなく、<?php ~ ?>のように、PHP全体を読み込んでしまっていることがわかりました。(しかも何故か1行ずつ行間を空けた状態で…) ちなみに一番最後の「trace(username.name)」は何も出力されませんでした。 Webで調べると、例えばPHP側で「echo "name=admin";」のように、直接値を表示しているものばかりのような気がしました。 私のような場合、欲しい部分だけをloadするにはどうすればよいでしょうか。どうぞご教示願います。

  • jquery-colorboxが反応しません・・・

    Wordpressのプラグインでjquery-colorboxってのを使いたいのですが上手く動いてくれません・・・ ネットで調べたらheader部分になにか追加したら動くとあったのですがよくわかりませんでした・・・ 今ヘッダー部分は <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>> <head profile="http://gmpg.org/xfn/11"> <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" /> <title> <?php if ( is_home() ) { ?> <? bloginfo('name'); ?> | <?php bloginfo('description'); ?> <?php } ?> <?php if ( is_search() ) { ?> Search Results for <?php /* Search Count */ $allsearch = &new WP_Query("s=$s&showposts=-1"); $key = wp_specialchars($s, 1); $count = $allsearch->post_count; _e(''); echo $key; _e(' &mdash; '); echo $count . ' '; _e('articles'); wp_reset_query(); ?> <?php } ?> <?php if ( is_404() ) { ?> <? bloginfo('name'); ?> | 404 Nothing Found <?php } ?> <?php if ( is_author() ) { ?> <? bloginfo('name'); ?> | Author Archives <?php } ?> <?php if ( is_single() ) { ?> <?php wp_title(''); ?> | <?php $category = get_the_category(); echo $category[0]->cat_name; ?> | <? bloginfo('name'); ?> <?php } ?> <?php if ( is_page() ) { ?> <? bloginfo('name'); ?> | <?php $category = get_the_category(); echo $category[0]->cat_name; ?> | <?php wp_title(''); ?> <?php } ?> <?php if ( is_category() ) { ?> <?php $category = get_the_category(); echo $category[0]->category_description; ?> | <? bloginfo('name'); ?> <?php } ?> <?php if ( is_month() ) { ?> <? bloginfo('name'); ?> | Archive | <?php the_time('F, Y'); ?> <?php } ?> <?php if ( is_day() ) { ?> <? bloginfo('name'); ?> | Archive | <?php the_time('F j, Y'); ?> <?php } ?> <?php if (function_exists('is_tag')) { if ( is_tag() ) { ?> <?php single_tag_title("", true); } } ?> | <? bloginfo('name'); ?> </title> <link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" /> <link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS Feed" href="<?php bloginfo('rss2_url'); ?>" /> <link rel="alternate" type="application/atom+xml" title="<?php bloginfo('name'); ?> Atom Feed" href="<?php bloginfo('atom_url'); ?>" /> <link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" /> <script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery-1.5.1.min.js"></script> <script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery-ui-personalized-1.5.2.packed.js"></script> <script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/sprinkle.js"></script> <script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/script.js"></script> <script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/colortip-1.0-jquery.js"></script> <script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/contact-form.js"></script> <script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/blogger.js"></script> <!--[if IE 6]> <link rel="stylesheet" href="<?php bloginfo('template_directory'); ?>/styleie6.css" type="text/css" media="screen" /> <![endif]--> </head> ってなってます。どうすれば動きますか?? サイトURLはhttp://mooommm.com/ 添付画像はプラグインの設定部分の画像です!

  • home_urlとbloginfo('url')

    <h1> <a href="<?php echo home_url('/'); ?>"> <?php bloginfo('name'); ?> </a> </h1> というソースがあります。 「home_url()」はサイトのホームURLを返すものですよね。 「bloginfo('url')」も同様かと思うのですが、 上記の場合「home_url()」を使っているのは、 「('/')」があるからなのでしょうか? もし「('/')」がないなら、 <a href="<?php bloginfo('url'); ?>"> でも問題はないということになるでしょうか? ご存じの方、よろしければご教授をお願いいたします。

    • 締切済み
    • PHP
  • PHPで定義した変数を引数としてJvaScrptに渡す方法

    PHPファイルで定義した変数を引数としてJvaScrptファイルに渡す方法がわかりません。どうしたらいいでしょうか?具体的には、 ***.php <?php class *** { public function printhello() { $i = "Hello World!"; echo $i; } public function aXces() { $title = "***会社"; $link = "***.php"; $palam = $_POST[name] echo "<a href=\"$link\" onclick=\"hL($palam)\">$title</a>"; } } ?> この$palamをJavaScriptのファイルに渡したいんです。 ***.js function hL($palam) { document.body.innerHTML=document.body.innerHTML.replace(/$palam/g,'<span style=\"background-color : yellow\">$palam</span>');focus(); } ってやってもなかなかうまくいきません。どうすればいいですか?

  • PHPで、オブジェクトが格納された配列を使う方法を教えて下さい。

    PHPで、オブジェクトが格納された配列を使う方法を教えて下さい。 PHP初学者です。 以下のようなプログラムを作成したいのです。 1.XML文書の内容を取得 2.XMLの要素<data>をTestDataオブジェクトに格納 3.TestDataオブジェクトの集合を持つTestDataListオブジェクトに、2で作成したTestDataオブジェクトを格納 4.XML文書に存在する<data>要素がなくなるまで2~3を繰り返す 5.全ての<data>要素を格納したら、今度はTestDataListオブジェクトから全てのTestDataオブジェクトを取得して、その中身を画面に表示 ※<data>要素は子要素<name>を持つ 作ってみたのですが、TestDataオブジェクトの格納に失敗しているのか、TestDataListからのTestData取得に失敗しているのか、画面に何も表示されません。 プログラムは以下の通りです。 ・<data>要素の中身を格納するためのクラス <?php class TestData { private $_name; public function setName($name) { $this -> _name = $name; } public function getName() { return $this -> _name; } } ・TestDataオブジェクトの集合を持つクラス <?php class TestDataList { private $_list; private $_size; public function __construct() { $_size = 0; } public function addData($data) { if(isset($_list)) { $_list[$_size++] = $data; return; } $_list = array($data); $_size++; } public function getData($index) { return $_list[$index]; } public function size() { return count($_list); } } ・画面に表示するPHPプログラム <?php require_once "TestData.php"; require_once "TestDataList.php"; $_xml = simplexml_load_file("guest.xml"); $_list = new TestDataList(); $_cnt = 0; foreach($_xml -> data as $data) { $tmpdata = new TestData(); $tmpdata -> setName($data -> name); $_list -> addData($tmpdata); $_cnt++; } ?> <html> <body> <?php print("Count:".$_cnt."<br/>"); print("Size :".$_list -> size()); for($j = 0 ; $j < $_list -> size() ; $j++) { $outdata = $_list -> getData($j); print($outdata -> getName()."<br/>"); } ?> </body> </html> ・実行結果 Count:3 Size :0 PHPに詳しい方、上記プログラムの不備を教えて下さい。宜しくお願いします。

    • ベストアンサー
    • PHP
  • セレクトボックスの値を保持したい。

    お世話になります。 カスタムフィールドで設定した値を取り込み、セレクトで選択出来るようにしています。 ページ遷移後に選択した値を保持した状態にしたいのですが、手法が分かりません。 <?php $my_tax = 'area'; $parent_terms = get_terms( $my_tax, array('hide_empty' => false, 'parent' => 0) ); ?> <select name="area"> <option value="">エリア</option> <?php for($i = 0; $i < count($parent_terms); $i++){ ?> <?php $term = $parent_terms[$i]; ?> <option value="<?php echo $term->term_id; ?>"><?php echo $term->name; ?></option> <?php } ?> </select> こちらをどう変更したら宜しいでしょうか?

    • 締切済み
    • PHP

専門家に質問してみよう