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

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

ただいまの
回答率

88.09%

WORDPRESSで月毎売上げランキングを表示したい

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 1,817

score 41

WORDPRESSで月毎売上げランキングを表示したいと思っています。ECサイトではありません。
データを入力するのはPCに慣れていないクライアントなので、なるべく使いやすい入力方法でできればと考えているのですが、妙案が浮かびません。

【やりたいこと】
WORDPRESSにカスタム投稿で、例:みかん/りんご/バナナ/キウイ/メロン/いちご/なし…などの商品名を、商品説明や写真などとともに投稿します。その上で、7月の売上が、1位・バナナ/2位・メロン/3位・キウイ/4位・いちご/5位・なし/であれば、トップページに1位から5位までの商品を表示したい。8月になったら、8月の売上5位までをトップページに表示したい…という仕様です。

初心者本が終わったばかりの私の頭では、カスタム投稿にタクソノミーでランキング(1位・2位・3位・4位・5位)という属性を作り、売上順位をチェックしてあげればできるかな…という気がしたのですが、それだと月毎の管理はどうするの?になってしまいます。

また、タクソノミー属性でやってしまうと、カスタム投稿のデータをひとつひとつ開いて順位を入力する必要があるので面倒ではないかと。できればEXCELのシートのように、商品一覧表が表示されて、全体のデータ(商品データはせいぜい20件程度)を眺めながら、1位・2位等のチェック(あるいは1,2の数字入力)ができれば使いやすいのではないかと思うのですが、WORDPRESSの基本的な機能ではやはり無理でしょうか。

プラグインらしきものはないかと検索中なのですが、未だ探し出せません。
WORDPRESSとは切り離した状態で、ただのPHP+MYSQLのプチシステムとして懸案の部分だけを作る…ということであれば、できそうなんですが、それをWORDPRESSと連携できるのかも謎です。
あるいは売上データのCSVをWPにコンバートとかできないのかと思ったのですが、商品画像とかどうするんだろう…と考えると、できなさそうな気がします。そもそもクライアントにCSVのコンバートは厳しそう。

【お尋ねしたいこと】
・このようなことができるプラグインなどがありますでしょうか?
・プラグインがない場合は、どのように作ればいいのでしょうか(コーディングの話ではなく、例えば自分でプラグインを作ればいいんだよとか)。
・PHP+MYSQLで作ったプチシステムを、WORDPRESSのメニュー内に取り込んで動かせるのでしょうか(それがプラグインってことになるのでしょうか)

どちらの方向に光があるのか、手がかりを教えていただけるとありがたいです。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

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

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

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

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

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

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

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

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+4

ランキングというカスタム投稿を作って、Advanced Custom Fields というプラグインで「関連記事フィールド」を利用するとか。

【ACF | Relationship】
https://www.advancedcustomfields.com/resources/relationship/

【記事下の関連記事はAdvanced Custom Fieldsで検索・表示するのがおすすめ!】
https://naifix.com/acf-related-article/

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/07/01 15:01

    Advanced Custom Fieldsっていうのがあるんですね…どれどれ…と、お示しくださったURLなどを参考にいじってみました。はー、こんなのがあるのね…と思いつつ、手元にある初心者本(「WORDPRESS仕事の現場でサッと使える!デザイン教科書」)をめくったら、Advanced Custom Fields、実習が載ってました。これっぽっちも覚えてませんでした><なんて揮発性の脳みそなんでしょう;;
    これから勉強し直します。
    ありがとうございます。

    キャンセル

+1

プラグインを使用した例であればkei344様のご提案のものや、売上金額を表示する必要が無いならランキングをカスタムフィールドにして毎月順位を更新すれば実現できるのではないかと思います。

PHP+MySQLでの独自テーブルを使用する場合は、dbDelta関数が使用
できます。
ただWordPressの標準テーブルなら面倒を見てくれる事も自分で実装する必要があるので少し大変かも知れません。

global $wpdb;

$sql = "SELECT * FROM $wpdb->prefix.'post';");

dbDelta($sql);

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/07/01 14:57

    ご返信ありがとうございます。
    dbDelta関数ってなんですか?…ということで、ググってみました。プラグインでデータベースを作るというcodexのページが出ました。
    お客様がお金持ちで、要望にほぼほぼ対応できる使い勝手のいいものを考えるなら、このへんをちゃんと勉強していかないといけないのだなあ…と、また新たなプレッシャーを感じたところです。

    まだWPのいろんな機能をわかっていないので、dbDelta関数という名前を教えていただけただけで、とてもありがたいです。
    ご回答くださったお二方ともにベストアンサーを付けたいのですが、困りました;;。
    今回は時間が早かった方に差し上げたいと思います。ありがとうございます。

    キャンセル

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

  • ただいまの回答率 88.09%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

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