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

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

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

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

Q&A

解決済

1回答

5120閲覧

カスタム投稿タイプでユーザーごとの記事一覧のページを作りたい

Samson818

総合スコア162

WordPress

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

0グッド

0クリップ

投稿2017/01/17 02:25

カスタム投稿タイプで[コラム]という記事を作り
ユーザーごとの記事一覧のページを作りたく、以下のように各phpを作成しました。

カスタム投稿タイプをfunction.phpに設定しました。
//カスタムポストタイプを追加する
add_action( ‘init’, ‘create_post_type2’ );

function create_post_type2() {
register_post_type(
‘column’, /* 投稿タイプのslug /
array(
‘labels’ => array(
‘name’ => __( ‘コラム’ ),
‘singular_name’ => __( コラム’ )
),
‘public’ => true,
‘menu_position’ => 5,
‘supports’ => array(‘title’,’editor’,’thumbnail’,’custom-fields’,’excerpt’,’author’,’trackbacks’,’comments’,’revisions’,’page-attributes’) /
いろんな機能を有効化 */
)
);

author.phpは以下のページを参考にしました。
http://nagano-now.info/takasan99/2013/04/18/%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E6%8A%95%E7%A8%BF%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E5%88%A5%E6%8A%95%E7%A8%BF%E8%A1%A8%E7%A4%BA/

実際には以下のようにしてます。

<?php get_header(); ?> <div id=”content” class=”narrowcolumn”> <?php $author_id = $post->post_author; // 現在の投稿者ID を変数に代入 $query= ‘author=’ . $author_id. ‘&showposts=20&post_type=column’; // クエリを連結 query_posts($query); // クエリを実行 ?> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?>

<!– Start: Post –>

<div> <h3>“><?php the_title(); ?></h3> <p> <span><?php the_time(‘Y年m月d日’); ?></span> <span><?php the_author(); ?></span> <span><?php the_category(“, “); ?></span> </p> <?php if(has_tag()): ?><p><span><?php the_tags(“”); ?></span></p><?php endif; ?> <p>“>続きを読む</p> </div> <!– End: Post –> <?php endwhile; endif; ?> </div> <?php get_sidebar(‘column’); ?> <?php get_footer(); ?>

ここまでで、author.phpには
ユーザー全員分の記事が表示されています。
どの様にすれば、ユーザーごとの記事一覧が取り出せるでしょうか?

php不勉強で申し訳ありません。
わかる方、ぜひよろしくお願いします。

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

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

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

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

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

guest

回答1

0

自己解決

author情報が所得出来てないのね?

<?php $author_id = $post->post_author; // 現在の投稿者ID を変数に代入 $query= ‘author=’ . $author_id. ‘&showposts=20&post_type=column’; // クエリを連結 query_posts($query); // クエリを実行 ?>

↑を↓のように変更

<?php $author_id = $curauth->ID; ?><!--現在の投稿者ID を変数に代入--> <?php query_posts('author='.$author_id.'&showposts=20&post_type=column');?> <?php if ( have_posts() ): while ( have_posts() ): the_post(); ?>

出来たみたいです。

投稿2017/01/17 10:12

Samson818

総合スコア162

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

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

beck_lion

2018/02/18 09:01

失礼します。 こちらの方法で試してみたのですが、ユーザー全員分の記事が表示されてしまいます。 原因が分からず困っいるのですが、何かこれ以外にauthor.phpに記述が必要でしょうか?
退会済みユーザー

退会済みユーザー

2018/02/18 11:31

他人の質問に便乗するのではなく自身で新たに質問してはどうですか?
Samson818

2018/02/19 00:19

ごめんなさい。もう一年前の事なのでよ~おぼえてらんのです。 良い記事に巡り合えることをお祈り申し上げます。
beck_lion

2018/02/19 00:28

ご回答ありがとうございます。承知致しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問