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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

WordPress

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

PHP

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

Q&A

解決済

3回答

3672閲覧

WordPressで本日投稿の記事数取得

AMK

総合スコア765

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

WordPress

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

PHP

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

0グッド

0クリップ

投稿2015/07/20 05:32

編集2015/07/20 06:36

全部の記事数の取得は何とか出来たのですが・・・
この記事の中から今日投稿された記事数を取得させたいいです。

AND post_date > now()を後ろに追加してみたのですがうまく行きませんでした。

よろしくお願い致します

以下全記事数取得コード

php

1<?php $numposts = $wpdb->get_var("SELECT count(*) FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'news’"); 2if (0 < $numposts) 3 $numposts = number_format($numposts); 4echo '<p>ニュースの全記事数: '. $numposts .'件</p>'; 5?>

以下最新記事数取得コード

php

1<?php $numposts = $wpdb->get_var("SELECT count(*) FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'news’"); 2if (0 < $numposts) 3 $numposts = number_format($numposts); 4echo '<p>ニュースの全記事数: '. $numposts .'件</p>'; 5?>

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

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

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

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

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

guest

回答3

0

ベストアンサー

WP_Queryを利用する事で指定した日付の投稿の数を取得できます。
この他に細かい指定を加えたい場合はCodexにあるWP_Queryのページを参照しながらパラメータを追加して下さい。

PHP

1/* 2 * 見やすくするためにパラメータに改行とインデントを挿入しています。 3 * 不要であれば1行にまとめて下さい。 4 */ 5$today_news = new WP_Query( 6 'post_type=news' . 7 '&posts_per_page=-1' . 8 '&year=' . date( 'Y' ) . 9 '&monthnum=' . date( 'm' ) . 10 '&day=' . date( 'd' ) 11); 12$today_news_count = $today_news -> found_posts;

また、日付の指定にはdate_queryを利用する事も出来ます。

PHP

1$args = array( 2 'post_type' => 'news', 3 'posts_per_page' => -1, 4 'date_query' => array( 5 array( 6 'year' => date( 'Y' ), 7 'monthnum' => date( 'm' ), 8 'day' => date( 'd' ) 9 ) 10 ) 11); 12$today_news = new WP_Query( $args ); 13$today_news_count = $today_news -> found_posts;

ちなみに、質問内容にある全記事数はwp_count_postsというテンプレートタグを利用する事でもっと簡単に取得出来ます。

PHP

1// カスタム投稿タイプ news で公開済みになっている投稿の総数を文字列型で取得 2$news_count = wp_count_posts( 'news' ) -> publish;

投稿2015/07/20 09:22

編集2015/07/20 14:49
flat

総合スコア617

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

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

AMK

2015/07/20 14:12

ありがとうございます! パーフェクトでした!!
guest

0

query_postsで欲しい記事をゲットして配列数を数えるとか…実験していないのでできるかは分かりませんが。

PHP

1global $posts; 2 3query_posts('year='. date('Y'). '&monthnum='. date('n'). '&day='. $date('j'). '&post_type=news&post_status=publish'); 4 5$numposts = count($posts); 6 7wp_reset_query();

…うーん自分で書いておいてアレですが、あまり美しくない(笑)

投稿2015/07/20 12:00

yu-ri

総合スコア634

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

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

0

今回の件とは関係ないかも知れませんが、
post_type = 'news")
は、シングルクォートが抜けています。
post_type = 'news'")
となります。これで正しいデータが取得できていないなど有りますでしょうか?

投稿2015/07/20 05:50

rik

総合スコア1151

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

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

AMK

2015/07/20 06:35

すみません記述ミスです。 修正しておきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問