サポート » 使い方全般 » 画像のaltにページタイトルを挿入したいです

  • 解決済 kiki222

    (@kiki222)


    カスタムフィールドを利用しようと思っています。
    一つは画像(mainphoto)で、もう一つはテキスト(lower-desc)です。
    そこで質問なのですが、
    画像のaltにページタイトルを挿入したいと思います。
    カスタムフィールドの利用方法を紹介したページを参考に書きコードを記載しました。

    <?php
                                  if(get_post_meta($post->ID,'mainphoto',true)){
                                       echo '<p><img src="'.get_post_meta($post->ID,'mainphoto',true).'" alt="'.the_title().'"></p>';
                                  }
                                  if(get_post_meta($post->ID,'lower-desc',true)){
                                       echo '<p class="img-desc-bottom">'.get_post_meta($post->ID,'lower-desc',true).'</p> ';
                                  }
                             ?>

    ですが、altをうまく表示できませんでした。
    詳しくphpを分かっておりません。
    正しいコードを教えて頂けますと、幸いです。
    宜しくお願い致します。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • the_titleをそのまま使うとechoされます。(先に出力されます。)

    the_title(null,null,FALSE)にするかget_the_titleを使ってください。

    こんにちは、

    タイトルには、html要素が追加される可能性などもあるので、

    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/the_title_attribute

    を使ったほうがいいです

    トピック投稿者 kiki222

    (@kiki222)

    Hinaloe様
    返答ありがとうございます。
    教えて頂いた方法で試したところ、

    <?php
                                  if(get_post_meta($post->ID,'mainphoto',true)){
                                       echo '<p><img src="'.get_post_meta($post->ID,'mainphoto',true).'" alt="'.the_title(null,null,FALSE).'"></p>';
                                  }
                                  if(get_post_meta($post->ID,'lower-desc',true)){
                                       echo '<p class="img-desc-bottom">'.get_post_meta($post->ID,'lower-desc',true).'</p> ';
                                  }
                             ?>

    で表示する事が出来ました。
    ありがとうございます!

    トピック投稿者 kiki222

    (@kiki222)

    nobita様
    返答をありがとうございます。
    Hinaloe様に教えて頂いた方法で表示出来たのですが、
    nobita様が仰る様にhtml要素が追加される可能性もありますので、
    the_title_attributeを使用したいと思うのですが、

    <?php
                                  if(get_post_meta($post->ID,'mainphoto',true)){
                                       echo '<p><img src="'.get_post_meta($post->ID,'mainphoto',true).'" alt="'.the_title_attribute().'"></p>';
                                  }
                                  if(get_post_meta($post->ID,'lower-desc',true)){
                                       echo '<p class="img-desc-bottom">'.get_post_meta($post->ID,'lower-desc',true).'</p> ';
                                  }
                             ?>

    としてみたりしましたが、表示できませんでした。
    Hinaloe様の方法と組み合わせて

    <?php
                                  if(get_post_meta($post->ID,'mainphoto',true)){
                                       echo '<p><img src="'.get_post_meta($post->ID,'mainphoto',true).'" alt="'.the_title_attribute(null,null,FALSE).'"></p>';
                                  }
                                  if(get_post_meta($post->ID,'lower-desc',true)){
                                       echo '<p class="img-desc-bottom">'.get_post_meta($post->ID,'lower-desc',true).'</p> ';
                                  }
                             ?>

    としても、画像の上部に文字が表示されてしまいました。
    大変お手数ですが、the_title_attributeを使用して
    altに記載できる方法を教えて頂けますと大変助かります。
    なにとぞ、宜しくお願い致します。

    引数の指定方法が異なります

    Codexを読むことが大事です。:)

    $args = array(
    		'before'=>'',
    		'after'=>'',
    		'echo' => false,
    	);
    
    echo 'before '.	the_title_attribute( $args ) . ' after';
    
    または、
    
    echo the_title_attribute( 'echo=false' );
    トピック投稿者 kiki222

    (@kiki222)

    nobita様
    返答ありがとうございます。
    出来ました!
    (書き方がおかしい場合は、ご指摘をお願いできますでしょうか?)

    <?php
     if(get_post_meta($post->ID,'mainphoto',true)){
      echo '<p><img src="'.get_post_meta($post->ID,'mainphoto',true).'" alt="';
      echo the_title_attribute( 'echo=false' ).'"></p>';
      }
     if(get_post_meta($post->ID,'lower-desc',true)){
      echo '<p class="img-desc-bottom">'.get_post_meta($post->ID,'lower-desc',true).'</p> ';
      }
    ?>

    自分の中で、まだしっかり理解出来ておりませんので
    勉強していこうと思います。
    本当に、ありがとうございます。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「画像のaltにページタイトルを挿入したいです」には新たに返信することはできません。