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

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

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

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

PHP

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

Q&A

1回答

941閲覧

カスタム投稿タイプの投稿者別ページに記事が表示されない

kolp

総合スコア6

WordPress

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

PHP

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

0グッド

0クリップ

投稿2018/06/22 05:08

Wordpress初心者です。
カスタム投稿タイプの投稿者別ページに記事が表示されず、タイトルも変になります。

functions.php

php

1add_action( 'init', 'create_post_type' ); 2function create_post_type() { 3 register_post_type( 4 'test1', 5 array( 6 'labels' => array( 7 'name' => __( 'テスト1' ), 8 'singular_name' => __( 'テスト1' ) 9 ), 10 'public' => true, 11 'menu_position' =>5, 12 ) 13 ); 14 register_post_type( 15 'test2', 16 array( 17 'labels' => array( 18 'name' => __( 'テスト2' ), 19 'singular_name' => __( 'テスト2' ) 20 ), 21 'public' => true, 22 'menu_position' =>5, 23 ) 24 ); 25} 26

author.php

php

1<?php get_header(); ?> 2<div class="contentInner"> 3<main id="main"> 4 <h2><?php echo get_the_archive_title(); ?></h2> 5 <?php if(have_posts()): while(have_posts()): the_post(); ?> 6 <a href="<?php the_permalink(); ?>"> 7 <time datetime="<?php echo get_the_date( 'Y-m-d' ); ?>"><?php echo get_the_date( 'Y-m-d' ); ?></time> 8 <div class="xxx"><?php if(mb_strlen($post->post_title)>20){$title= mb_substr($post->post_title,0,20) ;echo $title . '...';}else{echo $post->post_title;} ?></div> 9 <div class="xxx"><?php $str = get_the_excerpt();echo na_trim_words($str,70); ?></div> 10 </a> 11 <?php endwhile; ?><?php else: ?> 12 <div class="search_notfound"><p>該当する記事が見つかりませんでした。</p></div> 13 <?php endif; ?> 14 <div class="pagination">省略</div> 15</main> 16<?php get_sidebar(); ?> 17</div> 18<?php get_footer(); ?>

分からないなりに調べて、上記のように書きました。
ですが、「該当する記事が見つかりませんでした。」となってしまいます。
サンプルで3人「投稿者」としてユーザーを追加して、それぞれ2つずつ記事を書いたのですが、3人とも表示されません。
トップページに

php

1<?php 2$query = new WP_Query( 3 array( 4 'post_type' => 'test1', 5 'posts_per_page' => 5, 6 ) 7); 8if ( $query->have_posts() ) : ?> 9<div class="xxx"><dl> 10<?php while ( $query->have_posts() ) : $query->the_post();?> 11<a href="<?php the_permalink() ?>"><dt><?php echo get_the_date() ?><span><?php echo get_the_author() ?></span></dt><dd><?php the_title_attribute() ?></dd></a> 12<?php endwhile; ?> 13</dl></div> 14<?php endif; wp_reset_postdata(); ?>

と書いていますが、こちらはちゃんと表示されます。
ですが、ユーザー別にこれを表示したいです。
記事のページに「<?php the_author_posts_link(); ?>」としたら「ドメイン/author/ユーザー名」ページに飛ぶのですが、これを表示するのは「author.php」で間違っていないですか?

また、「author.php」で「<?php echo get_the_archive_title(); ?>」としているところが「作者別: <span class="vcard"></span>」と表示され、名前も表示されません。
そもそもvcardって何でしょうか?

どこが間違っているのかもよくわからないのですが、分かる方がみえましたら、よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

pre_get_postsで投稿タイプを設定しないと表示されないと思います。

【pre_get_postsでメインクエリを制御する | Tips Note by TAM】
https://www.tam-tam.co.jp/tipsnote/cms/post9420.html

【【wordpress】pre_get_postsを使ってみませんか?】
https://qiita.com/ruka/items/e14280d34eddf49efad1#pre_get_posts%E3%81%AE%E3%81%94%E6%8F%90%E6%A1%88


echo get_the_archive_title();

get_the_author() でも表示されませんか?

【get_the_archive_title() | Function | WordPress Developer Resources】
https://developer.wordpress.org/reference/functions/get_the_archive_title/

投稿2018/06/22 15:23

kei344

総合スコア69398

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問