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

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

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

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

PHP

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

Q&A

解決済

1回答

586閲覧

WordPress「Advanced Custom Fields」のデイトピッカーとTime Pickerで記事の並び替えをしたい。

teraota27

総合スコア27

WordPress

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

PHP

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

0グッド

0クリップ

投稿2022/09/21 08:55

編集2022/09/21 20:03

前提

WordPressのカスタム投稿タイプでイベントスケジュールのページを作っています。

実現したいこと

イベント投稿の並び順を開催日の近い順に、かつ同日に複数イベントがある場合は開催時間の早い順に並び替えたいと思っています。
また、開催日が過ぎたものは非表示にしたいとも考えています。

開催日と開催時間の入力にはプラグイン「Advanced Custom Fields」を使用しており、開催日をデイトピッカーで、開催時間をTime Pickerで入力するようにしています。

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

↓の質問を参考に記述してみたのですが
https://teratail.com/questions/195188

「このサイトで重大なエラーが発生しました。」と表示されてしまいました。

各設定

カスタム投稿タイプの名前:schedule
開催日の名前:schedule_date
開催時間の名前:schedule_starttime

該当のソースコード

PHP

1<div class="part schedule_part"> 2 <ul class="archive_ul"> 3<?php 4$paged = get_query_var('paged'); 5$args = array ( 6 'post_type' => 'schedule', 7 'posts_per_page' => 10, 8 'meta_key' => 'schedule_date', 9 'meta_value' => wp_date( "Ymd" ), 10 'meta_compare' => '>=', 11 'paged' => $paged, 12 'meta_query' => array( 13 'relation' => 'AND', 14 'date_clause' => ( 15 'key' => 'schedule_date', 16 ), 17 'starttime_clause' => ( 18 'key' => 'schedule_starttime', 19 ), 20 ), 21 'orderby' => ( 22 'date_clause' => 'ASC', 23 'starttime_clause' => 'ASC', 24 ), 25); 26$posts = new WP_Query($args); 27if($posts->have_posts()): 28while($posts->have_posts()) : $posts->the_post(); 29?> 30 <li class="archive_li"> 31 <a href="<?php the_permalink(); ?>"> 32 <p class="date"> 33<?php 34$date = get_field('schedule_test', false, false); 35$date = new DateTime($date); 36?> 37 <?php echo $date->format('m.d'); ?><span class="schedule_week schedule_<?php echo $date->format('D'); ?>"><?php echo $date->format('D.'); ?></span><span class="schedule_year"><?php echo $date->format('Y'); ?></span> 38 </p> 39 <div class="title"> 40 <p class="schedule_title"><?php the_title(); ?></p> 41 <p class="past_place"><?php the_field('schedule_place'); ?></p> 42 <p class="past_place"><?php echo $date->format('H:i'); ?></p> 43 <p class="schedule_act"><?php the_field('schedule_act'); ?></p> 44 </div> 45 </a> 46 </li> 47<?php endwhile; ?> 48<?php else:?> 49 <li >現在、イベントの予定はありません。</li> 50<?php endif;wp_reset_postdata(); ?> 51 </ul> 52</div>

ではダメなようで、どこがいけなかったのでしょうか?
ご教授頂けますと幸いです。

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

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

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

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

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

CHERRY

2022/09/21 09:04 編集

ダメとは、どのような結果になったのでしょうか。 また、他の部分に原因がある場合もあるので、表示部分も含めたコードの全体を記載していただけないでしょうか。
teraota27

2022/09/21 09:04

「このサイトで重大なエラーが発生しました。」と表示されてしまいました。
teraota27

2022/09/21 09:17

コードを詳しく書きました
guest

回答1

0

自己解決

改めてコードを書き直したら上手くいきました。
質問時のコードと何ら変わらないと思うのですが以下でいけました。

お騒がせしました。

PHP

1$args = array( 2 'post_type' => 'schedule', 3 'posts_per_page' => 10, 4 'meta_key' => 'schedule_date', 5 'meta_value' => wp_date( "Ymd" ), 6 'meta_compare' => '>=', 7 'paged' => $paged, 8 'meta_query' => array( 9 'relation' => 'AND', 10 'date_clause' => array( 11 'key' => 'schedule_date' 12 ), 13 'starttime_clause' => array( 14 'key' => 'schedule_starttime', 15 ) 16 ), 17 'orderby' => array( 18 'schedule_date' => 'ASC' , 19 'starttime_clause' => 'ASC' 20 ) 21);

投稿2022/09/21 21:20

teraota27

総合スコア27

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問