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

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

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

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

PHP

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

Q&A

解決済

1回答

282閲覧

WordPressの一覧表示のソートと表示範囲の指定

takehittt

総合スコア8

WordPress

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

PHP

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

0グッド

0クリップ

投稿2018/04/24 03:40

編集2018/04/24 03:53

舞台公演の情報サイトをWordPressで構築しております。

「公演情報」をいくつかのカスタムフィールドの項目で入力し、
それらを固定ページで一覧表示するということをしようとしています。

情報の登録項目に、「公演日程」という項目があり、
カレンダーピッカーから入力する項目として設けました。

現在、固定ページのテンプレートphpにて、
↓のソースで、情報を一覧で表示するところまではできるようになりました。

この状態から、

(1)表示される内容は【現在の月】と、【現在の月の翌月】だけを降順(または昇順)で表示したい。
→古い情報や遠い未来の情報は表示せず、当月と直近の未来の情報だけを表示するようにしたいと思っています。

(2)表示される順序は投稿日時ではなく【公演日程(開始日)】のフィールド('schedule_start')の日付の順序にしたい。
→多数のユーザーがランダムに公演情報を入力する運用を想定しているため、投稿日時の順ではなく、公演日程でソートしたいと思っています。

上記の2要件を実現したいと思っているのですが、これ以降の処理がわからず悩んています。
どのようなコードとするとよいでしょうか?
詳しい方にアドバイスをいただけますと大変ありがたいです。

<?php $posts = get_posts('numberposts=100&category=557'); global $post; ?> <?php if($posts): foreach($posts as $post): setup_postdata($post); ?> <div style="padding:15px 0;border-bottom:1px dotted #dddddd;"> <strong> <?php the_field('team_name'); ?>『<?php the_field('title'); ?>』 </strong> <br> <span style="font-size:80%;"> 【公演日程】<strong> <?php $week = array("日", "月", "火", "水", "木", "金", "土"); ?> <?php $date = date_create(''.get_field('schedule_start').''); echo date_format($date,'Y年m月d日') . "(" . $week[(int)date_format($date,'w')] . ")" ; ?> 〜 <?php $date = date_create(''.get_field('schedule_end').''); echo date_format($date,'Y年m月d日') . "(" . $week[(int)date_format($date,'w')] . ")" ; ?> </strong>  <?php the_field('stages'); ?></span><br> <span style="font-size:80%;"><?php the_field('profile'); ?></span><br> <span style="font-size:80%;">【会場】<?php the_field('location'); ?></span><br> <!--URlがあれば表示、の分岐 ここから--> <?php $imgid = get_field('url'); ?> <?php if(empty($imgid)):?> <?php else:?> <span style="font-size:80%;">【公演情報】<a href="<?php get_field('url')?>" target="_blank"><?php the_field('url'); ?></a></span><br> <?php endif;?> <!--URlがあれば表示、の分岐 ここまで--> <!--見る見た表示 ここから--> <?php $cfcb = get_field_object('mirumita'); $cfcbId = get_post_meta($post->ID,'mirumita'); $cfcbId = $cfcbId[0]; if($cfcb) { foreach($cfcbId as $v) { echo '<span style="font-size:60%;" class="ico-'. $v. '">' . $cfcb['choices'][$v] .'</span>'; } } ?> <!--見る見た表示 ここまで--> </div><!--data_box--> <?php endforeach; endif;?> <!--公演情報呼び出しここまで-->

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/04/24 03:48

ソースコードは<code>ボタンを押してコードブロックで囲ってください。
takehittt

2018/04/24 03:51

認識不足恐れ入ります。修正いたしました。
guest

回答1

0

ベストアンサー

【【WordPress】カスタムフィールドの日付項目で並び替え・期間指定して記事を取得 | コワーキングスペース7F】
https://office7f.com/2014/12/18/wordpress-meta-query/

【Wordpress カスタムフィールドの日付を使って今月の投稿を取得 | Moral Hazard!! | モラルハザード!!】
https://moralhazard.jp/2016/04/10/wordpress-between/

get_postsは内部でWP_Queryに引数を渡しているので、上記と同じ引数を使えます。

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

投稿2018/04/24 05:40

kei344

総合スコア69357

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

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

takehittt

2018/04/24 06:19

早速のご教示ありがとうございます。 参照先は私もみつけ、概念としては把握していたのですが、申し訳ありません、これらをどのようにコードに反映すると動作するのかが分からず、記述の方法について知識がないレベルでありました。 情報不足な部分をあると思うのですが、どのようにコードを書くと良さそうか、ご教示いただける方がいらっしゃいましたら幸甚です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.51%

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

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

質問する

関連した質問