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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

WordPress

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

PHP

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

Q&A

解決済

1回答

689閲覧

Wordpressで投稿の公開日が今日のものをトップページに表示させたいです

moonyoung

総合スコア1

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

WordPress

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

PHP

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

0グッド

0クリップ

投稿2022/01/01 12:03

前提・実現したいこと

投稿で未来の日付指定し、表示可能にしたイベントページを作成しています。
イベント当日、トップページにその日のイベントを1件表示させたいです。

投稿機能は全てこちらのイベントで使用しており、他にニュース等では使用しておりません。

こちらの記事を参考にしました。
https://teratail.com/questions/79262

未来の日付の投稿を可能に function.php

function stop_post_status_future_func($data,$postarr) { if ( ( $data['post_type'] == 'post' && $data['post_status'] == 'future' ) && $postarr['post_status'] == 'publish' ){ $data['post_status'] = 'publish'; } return $data; }; add_filter( 'wp_insert_post_data', 'stop_post_status_future_func', 10, 2 );

該当のソースコード index.php

<artical> <div class="EventInfoTitle"> <h2><span>TODAY'S<br class="none_Sp">EVENT</span></h2> </div> <?php $today = date_i18n("Y年m月d日(D)"); $args = array( 'post_type' => 'post', 'posts_per_page' => 1, ); $st_query = new WP_Query( $args ); ?> <div class="Info"> <?php if ( $st_query->have_posts() ): ?> <?php while ( $st_query->have_posts() ) : $st_query->the_post(); ?> <p class="day" ><?php the_time( "Y年m月d日(D)" ); ?></p> <h2 class="event"><?php the_title(); ?></h2> <p class="artist"><?php the_excerpt(); ?></p> <?php endwhile; ?> <?php else: ?> <p>本日イベントはありません</p> <?php endif; ?> </div> </artical>

できたこと、不明点

日付については  "Y年m月d日(D)" で取得できたのですが、
投稿自体が うまく取得できていません、現状、全ての投稿の一番新しいものが表示されているようでした。

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

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

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

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

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

guest

回答1

0

ベストアンサー

投稿自体が うまく取得できていません、現状、全ての投稿の一番新しいものが表示されているようでした。

質問の

$args = array(
'post_type' => 'post',
'posts_per_page' => 1,
);

では、post を 1件取得しか条件を指定していません。

WP_Query に日付検索パラメータの

日付パラメータ
ある期間に関連付けられた投稿を表示する。
year (整数) - 4桁の年 (例: 2011)。
monthnum (整数) - 月 (1 から 12)。
day (整数) - 日 (1 から 31)。

がありますので、これを利用するとどうなるでしょうか?

(例)

$args = array( 'post_type' => 'post', 'posts_per_page' => 1, 'year' => date_i18n("Y"), 'monthnum' => date_i18n("m"), 'day' => date_i18n("d"), ); $st_query = new WP_Query( $args );

投稿2022/01/01 14:52

CHERRY

総合スコア25171

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

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

moonyoung

2022/01/01 16:19

ありがとうございます、本日の投稿が表示されました! 明日、日付を越して動作に問題がないか、確認してみようと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問