質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

742閲覧

WordPressでユーザープロフィールに追加した項目を、空欄時非表示にしたい。

ikami

総合スコア1

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2021/06/21 03:27

前提・実現したいこと

WordpressのユーザープロフィールにSNS情報を追加し、
固定ページで作成したユーザー一覧に表示させようとしています。

https://whitebear-seo.co.jp/wordpress-add-user-profile/
上記サイトを参考に作成しましたが、
空欄の場合非表示にするようif文を定義してもうまく表示されません。

何か抜け漏れしているのでしょうか...
ご存知の方、お力添えいただけると助かります。

発生している問題

PHP

1<?php if(get_the_author_meta('フィールド名') != ""): ?> 2//表示させたい項目 3<?php endif; ?>

上記の、if文を追加すると、
情報が入っている項目も表示されなくなってしまいました。

該当のソースコード

functions.php(ユーザー情報へ項目の追加)

php

1function my_user_meta($wb) 2{ 3//項目の追加例 4$wb['twitter'] = 'Twitter'; 5$wb['facebook'] = 'Facebook'; 6$wb['instagram'] = 'Instagram'; 7 8return $wb; 9} 10add_filter('user_contactmethods', 'my_user_meta', 10, 1);

page-test.php(ユーザー一覧ページ)

PHP

1<?php $users = get_users( array('orderby'=>'ID','order'=>'ASC') ); ?> 2 <ul> 3 <?php foreach($users as $user) { 4 $uid = $user->ID; ?> 5 <li> 6 <div class="member__img"> 7 <?php echo get_avatar( $uid ,500 ); ?><!--メンバー画像 --> 8 </div> 9 <div class="member__content"> 10 <div class="member__name"> 11 <?php echo $user->display_name ; ?><!--メンバー名前 --> 12 </div> 13 <div class="pickupWriter__desc"><?php echo $user->description ; ?></div><!--メンバープロフィール --> 14              <!--ここからメンバーSNS情報 --> 15 <div class="member__sns"> 16 <?php if(get_the_author_meta('facebook') != ""): ?> 17 <a href="https://www.facebook.com/<?php echo get_user_meta( $uid, 'facebook', true); ?>" target="_blank" rel="noopener"><i class="fab fa-facebook-square"></i></a> 18 <?php endif; ?> 19 <?php if(get_the_author_meta('twitter') != ""): ?> 20 <a href="https://twitter.com/<?php echo get_user_meta( $uid, 'tiwtter', true); ?>" target="_blank" rel="noopener"><i class="fab fa-twitter"></i></a> 21 <?php endif; ?> 22 23 <?php if(get_the_author_meta('instagram') != ""): ?> 24 <a href="https://instagram.com/<?php echo get_user_meta( $uid, 'instagram', true); ?>" target="_blank" rel="noopener"><i class="fab fa-instagram"></i></a> 25 <?php endif; ?> 26 </div> 27 </div> 28 </li> 29 <?php } ?> 30 </ul>

試したこと

if文を消すと(当たり前ですが)情報が表示されます。
もちろん空欄のものも表示されてしまいます。

補足情報(FW/ツールのバージョンなど)

WordPress 5.7.2

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

目的と違うものをifに入れているからでは。

PHP

1<?php if(get_user_meta( $uid, 'facebook', true) != ""): ?> 2 <a href="https://www.facebook.com/<?php echo get_user_meta( $uid, 'facebook', true); ?>" target="_blank" rel="noopener"><i class="fab fa-facebook-square"></i></a> 3<?php endif; ?>

投稿2021/06/21 05:01

kei344

総合スコア69606

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ikami

2021/06/21 08:00

ご教示いただいた通り入力することで無事に解決しました! get_user_meta内は統一しないといけませんね... 以後気をつけます。 本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問