質問: wordpressで会員登録制のサイトを作成しております。 ``` mypage.php ID, 'block', true)) : ?> 登録内容: 登録内容: コード ``` で表示されるような作成者のページへのリンクをマイページというテンプレートで固定ページに表示し、現在ログインしているユーザーの投稿(post)とカスタム投稿タイプ(****)の一覧を分けて表示したいと思っておりますが、上記のコードだと管理者(作成者)しか表示されないので、現在ログインしているユーザーのユーザー名を表示してそのユーザーの投稿の一覧(author.php)にリンクしたいと思っております。 もちろん、マイページからもう一度リンクでauthorページへリンクしなくてもマイページに投稿のタイトルが表示できればいいことなのですが、わからないのでこうしていました。 authorページにカスタム投稿タイプを表示させるためのコードです ``` functions.php //カスタム投稿を作成者ページに表示 function my_search_filter($query) { if (is_author() && $query->is_main_query() ) { $query->set( 'post_type', 'カスタム投稿タイプ' ); } } add_action( 'pre_get_posts','my_search_filter' ); ``` イメージは 投稿者Bのカスタム投稿タイプの一覧 ・カスタム投稿タイプの投稿1 ・カスタム投稿タイプの投稿2 ・カスタム投稿タイプの投稿3 投稿者Bの投稿の一覧 ・投稿1 という感じです。 ・カスタム投稿タイプは複数の投稿があります ・投稿(post)は1つだけ ``` author.php //カスタム投稿タイプの投稿の一覧表示 投稿がありません。 //投稿(post)の表示 登録内容 description)) { ?> description; ?> 登録日: 登録名: コード ``` 投稿を1つだけ表示させるコードは https://engineer.blog.lancers.jp/2017/05/post_list_of_author/ こちらを参考に致しました。 ここまででは、現在ログインしているユーザーの投稿が取得できないので、 以下のコードを入れてみました。 こちらも参考にさせて頂きauthor.phpを書き換えてみました。 ``` ID; ?> “> コード ``` こちらのコードですと、 管理者A 投稿者B で別々のブラウザでログインした際、どちらも投稿者Bの投稿の一覧が表示されます。 phpをあまり理解できていないのだと思いますが、どうもうまくいかないので、 ご教示いただければ、うれしいです。 お手数ですがよろしくお願いします。
回答: まずは、`$userId = get_query_var('author');`や`$author_id = $curauth->ID;`で目的とするユーザーIDが取得できているかを確認してみてください。 ここで目的とするユーザーIDが取得できていないと、その後のソースコードも正常に動作しないため、そこを確認することが重要です。