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

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

新規登録して質問してみよう
ただいま回答率
87.20%
Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

WordPress

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

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

受付中

WordPressで投稿を日付ごとにブロック化して出力したい

退会済みユーザー

退会済みユーザー

総合スコア0

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

WordPress

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

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

1回答

-1評価

0クリップ

392閲覧

投稿2021/12/18 11:50

編集2022/01/12 10:55

#最初に

閲覧ありがとうございます。
webサイトをの投稿ページをカスタム投稿で作成しておりまして、その出力方法について質問させてください。

現状のループ文は以下になります

#現状

PHP

<h3></h3> <div> <?php $month = date("m"); $day = date("d"); $custom_posts = get_posts(array( 'post_type' => 'event', 'posts_per_page' => 6, 'orderby' => array( 'event_month' => 'ASC', 'event_day' => 'ASC', ), 'meta_query' => array( 'relation' => 'AND', array( 'event_month' => array( 'key' => 'event_month', 'type' => 'DECIMAL(2,0)', 'compare' => '>=', ), ), array( 'event_day' => array( 'key' => 'event_day', 'type' => 'DECIMAL(2,0)', 'compare' => '>=', ), ), array( 'event_week' => array( 'key' => 'event_week', ), ), array( 'relation' => 'AND', array( 'key' => 'event_month', 'value' => $month, 'type' => 'DECIMAL(2,0)', 'compare' => '>=' ), array( 'key' => 'event_day', 'value' => $day, 'type' => 'DECIMAL(2,0)', 'compare' => '>=' ), ) ), 'tax_query' => array( array( 'taxonomy' => 'event-tag', 'field' => 'slug', 'terms' => array('accepting'), 'operator' => 'IN' ), ) )); global $post; if ($custom_posts) : foreach ($custom_posts as $post) : setup_postdata($post); ?> <div class="block"> <?php $search = array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"); $replace = array("日", "月", "火", "水", "木", "金", "土"); $week = get_post_meta($post->ID, 'event_week', true); $weekJP = str_replace($search, $replace, $week); $weekClass = str_replace($search, $replace, $week); if ($week == 'Sun') : $weekClass = 'sun'; elseif ($week == 'Sat') : $weekClass = 'sat'; else : $weekClass = 'others'; endif; ?> //ここから日付の取得 <span class="month"><?php echo get_post_meta($post->ID, 'event_month', true); ?>/</span> <span class="<?php echo $weekClass ?>"> <span class="day"><?php echo get_post_meta($post->ID, 'event_day', true); ?></span> (<?php echo $weekJP; ?>) </span> //ここまで <a href="<?php the_permalink(); ?>"> <?php setup_postdata($post); echo the_post_thumbnail(array(200, 250)); ?> <p class="title"><?php the_title(); ?></p> </a> </div> <?php endforeach; wp_reset_postdata(); endif; ?> </div>

出力内容は日付とサムネイル、タイトルのみで、以下のようになっています

HTML5

<h3></h3> <div>    <div class="block">      <span class="month">12/23(金)</span>//省略して表記しています <a href="#"><img><p class="title">タイトル</p></a> </div>   <div class="block">      <span class="month">12/23(金)</span> <a href="#"><img><p class="title">タイトル</p></a> </div>   <div class="block">      <span class="month">12/24(土)</span> <a href="#"><img><p class="title">タイトル</p></a> </div>  <div class="block">      <span class="month">12/24(土)</span> <a href="#"><img><p class="title">タイトル</p></a> </div>

#実現したいこと

同じ日付が連続で並ぶのは正直見栄えが良くないので、できれば下記のように
日付ごとにブロック化して出力したいと考えております。

HTML5

<h3>12/23(金)</h3> <div>    <div class="block"> <a href="#"><img><p class="title">タイトル</p></a> </div>   <div class="block"> <a href="#"><img><p class="title">タイトル</p></a> </div>   <h3>12/24(土)</h3> <div class="block"> <a href="#"><img><p class="title">タイトル</p></a> </div> <div class="block"> <a href="#"><img><p class="title">タイトル</p></a> </div>

#試したこと
ループを使って出力を制御すれば良いのかな...と思いましたが、あまりうまくいきません。
どなたかご教授いただける方、よろしくお願いいたします。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

WordPress

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

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。