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

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

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

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

PHP

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

Q&A

解決済

2回答

2169閲覧

wordpressでのユーザー情報取得について

murama2

総合スコア113

WordPress

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

PHP

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

0グッド

1クリップ

投稿2018/11/01 07:17

編集2018/11/01 08:50

登録したユーザー情報ページ(auther.php)を作成し、ユーザー名など表示させているのですが、一部取得できない物があります。

ページ上部に記入した、「<?php the_author_nickname(); ?>」は取得&表示できなくて、
ページ下部に記入は「<?php the_author_nickname(); ?>」は取得&表示ができているという現象が起きており調べても解決策がでてこずこまっております。

また、複数ユーザーを登録したのですが、ユーザーAはユーザー情報を取得&表示できるのに、ユーザーBは全てのユーザー情報を取得できない状態にあります。

上記2点の問題について何か解決策などありますでしょうか。

・ページの2か所に入力した、「<?php the_author_nickname(); ?>」が一部ユーザーのみ1つ目は表示されず、2つ目の物だけ表示される。
・一部ユーザーのみユーザー情報(ユーザー名、メールアドレスなど)が取得できない状態
※どのユーザーも入力情報に違いなどありません。(空白が入っているなどもなし)

よろしくお願いいたします。

追記

変わりの「the author meta」を使用しましたが、やはり1つ目は表示されず、2つ目は表示される状態です。
下記が対象ファイルのコードになります。

<?php get_header(); ?> <div class="mainImg"> <h1 class="pageTitle"> <?php the_author_meta( nickname, $author ); ?> </h1> </div> <div id="container"> <section id="section1" class="singleContentInner"> <?php // カスタムフィールド値取得 $aID = get_the_author_meta(ID, $author); $a_img = get_field('cp_img', 'user_' . $aID); $a_title = get_field('cp_title', 'user_' . $aID); $a_text = get_field('cp_text', 'user_' . $aID); ?> <?php $args = array( 'posts_per_page' => 3, 'order' => 'DESC', 'post_type' => 'member', 'author_name' => $get_author, ); $posts = new WP_Query($args); ?> <?php if($posts->have_posts()): ?> <section id="section3"> <div class="title_h2"> <div class="title_h2_inner"> <h2><?php the_author_meta('display_name'); ?>の他のサービスを見る</h2> </div> </div> <div class="contentArea"> <div class="clear newMemberList"> <?php while( $posts->have_posts() ) : $posts->the_post(); ?> <div class="newMemberBox linkBox match_hg"> <a class="coverLink" href="<?php the_permalink() ?>"></a> <div class="thumbnailBox"> <?php $member_terms = wp_get_object_terms($post->ID,'ctcategory'); $c_img1 = get_field("cf2_img"); ?> <?php if (!empty($member_terms) && !is_wp_error($member_terms)) { usort($member_terms,"cmp_parent"); foreach ($member_terms as $member_term) { if($member_term->parent == 0){ echo '<p class="cate">'.esc_html($member_term->name).'</p>'; } } } ?> <?php if ( $c_img1 ): ?> <img src="<?php echo $c_img1 ?>" alt="<?php the_title() ?>"> <?php else: ?> <img src="<?php echo esc_url(get_template_directory_uri()); ?>/assets/images/common/no-image.png" alt=""> <?php endif; ?> </div> <h3> <?php if(mb_strlen($post->post_title, 'UTF-8')>20){ $title= mb_substr($post->post_title, 0, 20, 'UTF-8'); echo $title.'...'; }else{ echo $post->post_title; } ?> </h3> <div class="excerpt"> <?php $c_txt = mb_substr(get_field("cf2_txt"),0,30,'utf-8'); $c_txt = strip_tags($c_txt); if($c_txt){ echo $c_txt.'...'; } ?> </div> <time class="time"><?php the_time('Y/n/j') ?></time> </div> <?php endwhile; wp_reset_postdata(); ?> </div> </div><!-- .contentArea --> <p class="more"> <a href="<?php echo esc_url(home_url('/archives/member')); ?>?author=<?php echo $get_author ?>">サービス一覧を見る</a> </p> </section> <?php endif; ?> <?php if(get_the_author_meta('display_name')): ?> <section id="section4"> <div class="title_h2"> <div class="title_h2_inner"> <h2><?php the_author_meta('display_name'); ?>について</h2> </div> </div> <div class="contentArea"> <div class="clear"> <div class="leftImg"> <?php if($a_img): ?> <img src="<?php echo $a_img ?>" alt="<?php the_title() ?>"> <?php else: ?> <img src="<?php echo esc_url(get_template_directory_uri()); ?>/assets/images/common/no-image.png" alt=""> <?php endif; ?> </div> <div class="rightContent authorBox"> <div class="author_data"> <?php $a_establishment = get_field('establishment', 'user_' . $aID); $a_representative = get_field('representative', 'user_' . $aID); $a_zip = get_field('zip', 'user_' . $aID); $a_address = get_field('address', 'user_' . $aID); $a_business_contents = get_field('business_contents', 'user_' . $aID); $a_mail = get_field('mail', 'user_' . $aID); $a_tel = get_field('tel', 'user_' . $aID); $a_fax = get_field('fax', 'user_' . $aID); $a_siteurl = get_field('siteurl', 'user_' . $aID); $a_contact = get_field('contact', 'user_' . $aID); ?> <?php if($a_establishment): ?> <dl> <dt>設立</dt> <dd><?php echo $a_establishment ?></dd> </dl> <?php endif; ?> <?php if($a_representative): ?> <dl> <dt>代表者</dt> <dd><?php echo $a_representative ?></dd> </dl> <?php endif; ?> <?php if($a_zip || $a_address): ?> <dl> <dt>所在地</dt> <dd><?php echo $a_zip.'<br>' ?><?php echo $a_address ?></dd> </dl> <?php endif; ?> <?php if($a_business_contents): ?> <dl> <dt>事業内容</dt> <dd><?php echo $a_business_contents ?></dd> </dl> <?php endif; ?> <?php if($a_tel): ?> <dl> <dt>電話番号</dt> <dd><?php echo $a_tel ?></dd> </dl> <?php endif; ?> <?php if($a_fax): ?> <dl> <dt>FAX番号</dt> <dd><?php echo $a_fax ?></dd> </dl> <?php endif; ?> <?php if($a_siteurl): ?> <dl> <dt>サイトURL</dt> <dd><a href="<?php echo $a_siteurl ?>" target="_blank"><?php echo $a_siteurl ?></a></dd> </dl> <?php endif; ?> </div> <?php if($a_contact): ?> <p class="more"> <a href="<?php echo $a_contact ?>" target="_blank">お問合せはこちら</a> </p> <?php elseif($a_mail): ?> <p class="more"> <a href="mailto:<?php echo $a_mail ?>">お問合せはこちら</a> </p> <?php endif; ?> </div> </div> </div><!-- .contentArea --> </section> <?php endif; ?> </div><!-- #container --> <?php get_footer(); ?>

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

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

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

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

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

marlboro_tata

2018/11/02 06:25

質問に記載されたコードを、検証環境で実行したらば、部分的にエラーが見受けられました。 デバッグモードをONにしてまずエラーメッセージを確認されることをお勧めします。
guest

回答2

0

ベストアンサー

テンプレートタグ/the author nickname

このテンプレートタグは WordPress 2.8 から非推奨となりました。後継となる新しいテンプレートタグが作られたか、動作対象外となり、WordPress の将来のバージョンで削除される見込みです。 このタグを使っていた場合は、後継の the_author_meta に切り替えてください。

ということです。
現象との因果関係があるのか詳細なコードが書かれてないので分かりませんが。

テンプレートタグ/the author meta

追記
実際のファイル名はauther.phpなのかどうか疑問。

追記
とりあえず追記された【author.php】かどうか分からないコードを見ると定義されてない変数がありますがいかがでしょう?
$authorは空だと思うのでIDが入ってなければならないと思いますが、無駄があるので

<?php get_header(); $aID = the_author_meta( 'ID' ); ?>

と冒頭に定義しておくことで$authorは不要で$aIDに書き換え
$aID = get_the_author_meta(ID, $author);の行を削除すればいいのではないかと思いますが。

$get_authorも未定義ですが他にコードがあるのならごめんあそばせ。

投稿2018/11/01 08:11

編集2018/11/01 14:06
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

変数の指定など見直し、ご回答いただいた通りに設定しましたら動作いたしました。
コードについては、質問の文字数制限で全部はのせれなかったので、エラーがでてしまっているかと思います。

投稿2018/11/02 06:30

murama2

総合スコア113

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問