TAMA-wp
メンバー
3 years前の投稿 #
いつもお世話になります。
WPで日記をつけているので、
ついでに簡単なお小遣い帳もつけたいと思っています。
項目は単純に
支出:1000円
収入:10000円
というだけのものです。
カスタムフィールドに
キー 値
deru 1000
hairu 10000
という感じで設定しています。(値に円という文字はありません)
どうせなら、現在までの総支出と総収入をサイドバーに表示できればなぁと思っています。
このカスタムフィールドは「日記」というカテゴリだけに設定していますので、「日記」内の「deru」の値を全て足して表示、「hairu」の値を全て足して表示したいです。
よろしかったらアドバイスをお願いします。
日記以外のカテゴリーで deru, hairu カスタムキーを使ってないことが保証されるならば、SQL コマンド一発で集計することが可能です。
サイドバーの好きな場所に以下のコードを書いてみてください。
<?php
function wpja_sum_deru_hairu() {
global $wpdb;
$query = "SELECT meta_key, SUM(meta_value) AS sum FROM {$wpdb->postmeta} WHERE (meta_key = 'deru' OR meta_key = 'hairu') GROUP BY meta_key";
$result = $wpdb->get_results($query);
$values = array();
foreach ((array) $result as $r) {
$values[$r->meta_key] = intval($r->sum);
}
printf('<div id="cashbook">支出: %1$d<br />収入: %2$d</div>', $values['deru'], $values['hairu']);
}
wpja_sum_deru_hairu();
?>
カテゴリーごとに集計するとなると、もっと複雑な SQL を書いてやらないといけませんが、単純な合計ならばそんな難しくはありません。
TAMA-wp
メンバー
3 years前の投稿 #
lilyfan様
ご回答頂き有り難うございました。
早速、ご提示頂いたコードを導入してみました。
思っていた通りに表示できました。感動です!!
本当にありがとうございました。