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

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

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

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

PHP

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

Q&A

1回答

3348閲覧

WordPress / 「今月」「先月」「来月」の取得

takehittt

総合スコア8

WordPress

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

PHP

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

0グッド

0クリップ

投稿2018/04/30 00:10

舞台公演の情報を表示するページを作成しております。

カスタムフィールドで入力した内容を取得して一覧表示させるコードを作成し、表示させています。

現状は、入力した日付(yy/mm/dd)を

'value' => array('2018/04/01','2018/04/31'),

のように、期間を指定して、任意の期間の情報を表示させています。

これを「今月」「先月」「来月」という3種類の扱いで、動的に期間を算出して表示させるようにしたいと考えているのですが、どのようなコードとすれば実現できるでしょうか。

初歩的な質問で恐縮ですが、ご教示いただけますと幸いです。

現状コードは以下です。

<?php $posts = get_posts( array( 'numberposts' => -1, 'post_type' => 'kouen', 'orderby' => 'meta_value', 'meta_key' => 'schedule_start', 'order' => 'ASC', 'meta_query' => array( 'key' => 'schedule_start', 'value' => array('2018/04/01','2018/04/31'), 'compare' => 'BETWEEN', 'type'=>'DATE' ) ) ); global $post; ?> <?php if($posts): foreach($posts as $post): setup_postdata($post); ?> <div style="padding:15px 0;border-bottom:1px dotted #dddddd;line-height:140%;"> <span style="font-size:90%;"> <?php $week = array("日", "月", "火", "水", "木", "金", "土"); ?> <?php $date = date_create(''.get_field('schedule_start').''); echo date_format($date,'n月j日') . "(" . $week[(int)date_format($date,'w')] . ")" ; ?> 〜 <?php $date = date_create(''.get_field('schedule_end').''); echo date_format($date,'n月j日') . "(" . $week[(int)date_format($date,'w')] . ")" ; ?> </span> <br> <span style="margin-top:5px;margin-bottom:5px;display:block;"> <strong> <?php the_field('team_name'); ?>『<?php the_field('title'); ?>』 </strong> <span style="font-size:80%;"><?php the_field('location'); ?></span> </span> <!--URlがあれば表示、の分岐 ここから--> <?php $imgid = get_field('url'); ?> <?php if(empty($imgid)):?> <?php else:?> <span style="font-size:80%;margin-bottom:10px;display:block;">→&nbsp;<a href="<?php the_field('url'); ?>" target="_blank"><?php the_field('url'); ?></a></span> <?php endif;?> <!--URlがあれば表示、の分岐 ここまで--> <!--感想1があれば表示、の分岐 ここから--> <?php $imgid = get_field('kanso1_title'); ?> <?php if(empty($imgid)):?> <?php else:?> <!--<span style="font-size:90%;margin-top:10px;margin-bottom:5px;display:block;">観劇レポート</span>--> <span style="font-size:100%;font-weight:bold;">・<a href="<?php the_field('kanso1_url'); ?>" target="_blank"><?php the_field('kanso1_title'); ?></a></span><span style="font-size:90%;"> by<?php the_field('kanso1_user'); ?></span><br> <?php endif;?> <!--感想1があれば表示、の分岐 ここまで--> <!--感想2があれば表示、の分岐 ここから--> <?php $imgid = get_field('kanso2_title'); ?> <?php if(empty($imgid)):?> <?php else:?> <span style="font-size:100%;font-weight:bold;">・<a href="<?php the_field('kanso2_url'); ?>" target="_blank"><?php the_field('kanso2_title'); ?></a></span><span style="font-size:90%;"> by<?php the_field('kanso2_user'); ?></span><br> <?php endif;?> <!--感想2があれば表示、の分岐 ここまで--> <!--感想3があれば表示、の分岐 ここから--> <?php $imgid = get_field('kanso3_title'); ?> <?php if(empty($imgid)):?> <?php else:?> <span style="font-size:100%;font-weight:bold;">・<a href="<?php the_field('kanso3_url'); ?>" target="_blank"><?php the_field('kanso3_title'); ?></a></span><span style="font-size:90%;"> by<?php the_field('kanso3_user'); ?></span><br> <?php endif;?> <!--感想3があれば表示、の分岐 ここまで--> <!--感想4があれば表示、の分岐 ここから--> <?php $imgid = get_field('kanso4_title'); ?> <?php if(empty($imgid)):?> <?php else:?> <span style="font-size:100%;font-weight:bold;">・<a href="<?php the_field('kanso4_url'); ?>" target="_blank"><?php the_field('kanso4_title'); ?></a></span><span style="font-size:90%;"> by<?php the_field('kanso4_user'); ?></span><br> <?php endif;?> <!--感想4があれば表示、の分岐 ここまで--> <!--感想5があれば表示、の分岐 ここから--> <?php $imgid = get_field('kanso5_title'); ?> <?php if(empty($imgid)):?> <?php else:?> <span style="font-size:100%;font-weight:bold;">・<a href="<?php the_field('kanso5_url'); ?>" target="_blank"><?php the_field('kanso5_title'); ?></a></span><span style="font-size:90%;"> by<?php the_field('kanso5_user'); ?></span><br> <?php endif;?> <!--感想5があれば表示、の分岐 ここまで--> </div><!--data_box--> <?php endforeach; endif;?> <!--公演情報呼び出しここまで--> <!--ひとつき分終わり-->

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/04/30 00:16 編集

自分で出来るところまでやってみよう。やってみて出来なかったら、やってみたことを追記しよう。丸投げ質問禁止のteratailでは、君はまだ質問出来る段階にすらいない。
takehittt

2018/04/30 01:00 編集

自分なりに解決方法を模索したうえでの質問だったつもりですが、作法やマナーについて認識不足大変失礼しました。
退会済みユーザー

退会済みユーザー

2018/04/30 01:00

試したことを記載しよう。記載がなければ何も試さず丸投げしてるとみなされる。これはヘルプにも記載の通りだ。
takehittt

2018/04/30 01:19

ありがとうございます。試したことを記載してみます。
m.ts10806

2018/04/30 02:57

PHPのdate関数やDateTimeについては確認してみましたか?
guest

回答1

0

PHPでの日付の取得方法がわからないという事でしょうか。

【PHP:PHPで明日、昨日、来月、先月などの日付取得 | raining】
http://raining.bear-life.com/php/phpで明日、昨日、来月、先月などの日付取得

【PHP 来月の日付を取得したい | WEPICKS!】
http://wepicks.net/phpsample-date-nextmonth/

【DateTime クラスのまとめメモ - Qiita】
https://qiita.com/re-24/items/c3ed814f2e1ee0f8e811

【DateTimeクラスを使ったモダンな日付処理 : アシアルブログ】
http://blog.asial.co.jp/704

投稿2018/05/01 17:11

kei344

総合スコア69407

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問