• 解決済 sato_17

    (@sato_17)


    お世話になります。プロフィールについて質問させて頂きます。

    WordPressのユーザーページ(author.php)テンプレートをカスタマイズするという記事を参考にTwitterの項目を追加しました。

    テンプレートに反映させるには

    <?php the_author_meta('twitter'); ?>

    とすれば反映するのは理解しているのですが、複数人で利用しています。もし他のユーザーが項目に記入してない場合はを表示させないようにしたいのですが、どうすればいいのでしょうか。

    上記のリンクにある

    <?php
    	$user_data = get_userdata($author);
    	if ($user_data->twitter) {
    		echo $user_data->twitter . "<br />";
    	}
    	if ($user_data->facebook) {
    		echo $user_data->facebook . "<br />";
    	}
    ?>

    では反映されませんでした。if文を使えばいいのはわかっているのですが、自分なりに調べて試してみても上手くいきませんでした。

    タグは

    <ul>
    <li><a href="http://twitter.com/<?php the_author_meta('twitter'); ?>" target="_blank">Twitter</a></li>
    </ul>

    このような感じで記述してます。記入してないユーザーにはリンクを表示させないようにしたいのです。

    WPのバージョンは3.4.1でテーマは自作です。どなたかご教授頂けたら幸いです。宜しくお願いします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • ‘if ($user_data->twitter) { ~ }’でも大丈夫だと思いますが、どのように上手くいかなかったのでしょう?
     
    他の書き方だと、次のようにするといいです。
     

    if(get_the_author_meta('twitter')) {
    /* 出力するコード */
    
    }

    トピック投稿者 sato_17

    (@sato_17)

    <?php if(the_author_meta('twitter')) : ?>
    <ul>
    <li><a href="http://twitter.com/<?php the_author_meta('twitter'); ?>" target="_blank">Twitter</a></li>
    </ul>
    <?php endif; ?>

    と書いていたら記入してないユーザーまで表示されていたのですが、「the_author_meta」の前に「get_」を入れればよかったんですね;PHPは初心者なものでそこまで頭が回りませんでした。

    おかげ様でやりたかったことが出来ました。popup様、ありがとうござます。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「プロフィールについて」には新たに返信することはできません。