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

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

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

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

PHP

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

Q&A

解決済

1回答

6092閲覧

Wordpress:カスタム投稿の月別アーカイブページで、投稿全件が表示されてしまいます。※

h_attsu

総合スコア7

WordPress

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

PHP

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

0グッド

0クリップ

投稿2018/03/03 09:02

編集2018/03/04 09:34

前提・実現したいこと

Wordpressサイトのカスタム投稿ページ(gallery)を作成しました。
サイドバーに月別のアーカイブリンクを設けましたが、
どのリンクをクリックしてもカスタム投稿ページの投稿が全て表示されてしまいます。
※月別の投稿のみに絞られない=gallery全件が表示されてしまう。

月別のア-カイブリンクをクリックした際は、
該当する投稿のみが表示されるようにしたいと思いますので、
wordpressの設定、phpの記述などで違っている部分がありましたら、
ご教授いただけますでしょうか?

■カスタム投稿名:gallery

発生している問題・エラーメッセージ

月別アーカイブページでカスタム投稿タイプの「gallery」全件が表示されてしまう。

該当のソースコード

■ファイル名:archive-gallery.php ▼ソースコード <main> <div id="single_left"> <div class="title_border"> <h2 class="gallery_title">事例集</h2> </div> <div id="news_list"> <?php query_posts('post_type=gallery'); ?> <?php if (have_posts()):while(have_posts()):the_post(); ?> <div class="news_cell linkwrap"> <div class="thumbimage"> <a href="<?php the_permalink() ?>"> <?php echo get_the_post_thumbnail( $tax_post->ID, array()); ?> </a> </div> <div class="news_info"> <a href="<?php the_permalink();?>"> <p><span class="date"><?php echo get_the_date('Y.m.d'); ?></span></p> <h3><?php the_title() ?></h3> <p><?php the_excerpt(); ?></p> </a> </div> </div> <?php endwhile; endif; ?> <?php wp_reset_postdata(); wp_reset_query(); ?> </div> </div> <?php get_sidebar('gallery'); ?> ーーーーーーーーーーーーーーーーーーーーーーーーー ■ファイル名:sidebar-gallery.php ▼ソースコード <h2 class="widgettitle">掲載年月</h2> <ul class="custom_post_menu"> <?php wp_get_archives('type=monthly&post_type=gallery'); ?> </ul>

試したこと

Custom Post Type UIで以下の設定にしています。

name: gallery
label: 事例集
singular_label: 事例集
description: 事例集のギャラリーページ
public: true
publicly_queryable: true
show_ui: true
show_in_nav_menus: true
show_in_rest: false
rest_base: ""
has_archive: true
has_archive_string: ""
exclude_from_search: false
capability_type: post
hierarchical: true
rewrite: true
rewrite_slug: ""
rewrite_withfront: true
query_var: true
query_var_slug: ""
menu_position: ""
show_in_menu: true
show_in_menu_string: ""
menu_icon: ""
custom_supports: ""
ーーーーーーーーーーーーーーーーーーーーーーーーーー
■Custom Post Type Permalinksで
galleryのパーマリンク設定を以下のようにしています。
サイトURL/カスタム投稿ページ/%year%/%monthnum%/%day%/%postname%/

has_archive: true / with_front: true

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

wordpressのバージョン: WordPress 4.8.5
導入プラグイン:
Custom Post Type UI
Custom Post Type Permalinks

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

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

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

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

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

guest

回答1

0

ベストアンサー

PHP

1query_posts('post_type=gallery'); // これを削除してみてください

投稿2018/03/04 02:37

kei344

総合スコア69407

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

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

h_attsu

2018/03/04 03:01

kei344様 ご回答ありがとうございます。 お教えいただいた箇所を削除し、解決いたしました! 原因を良く理解できていませんが、 もしよろしければ、考え方など記載していただけませんでしょうか?
kei344

2018/03/04 03:15

そもそも query_posts は使わないでテンプレートを書いたほうが良いです。テンプレートの処理が始まる前にクエリを取得する処理があり、query_postsはそれを上書きしてしまうからです。 【WordPressで押さえておきたい!get_posts,WP_Query,query_posts の違いと用例|テクニカルブログ|株式会社エムハンド】 https://www.m-hand.co.jp/program/4119/
h_attsu

2018/03/04 09:32

kei344様 ご回答ありがとうございます。 query_postsがテンプレートの処理を上書いていたのですね! 今後は利用しないようにいたします。 また、ご案内いただいたリファレンスがとても参考になりました。 ループ処理の記述がいくつか存在することと、各記述方法によってメインループとカスタムループへの影響や処理可能な範囲がそれぞれ異なるのですね! これまで、何となくコピーして利用していましたが、理解が深まりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問