• ベストアンサー

WordPressでの動的ページ作成とは具体的に

製品一覧とその詳細ページからなるサイトを作りたいのですが、基本的なことが分かりません。 MySQLを使用する、とのことですが、データをDBに入れておいて、その器となるテンプレートページを用意すれば、カテゴリ分けや検索からページが作成されるのではないのですか? 例えば製品が100品目あった場合に、Post投稿も100用意するのでしょうか?MSアクセスのフォームのようなイメージだったのですが… どうかよろしくお願いいたします。

  • CSS
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • JaneDue
  • ベストアンサー率75% (263/350)
回答No.1

wordpressに明るくはないのですが、回答つかないようなので知っている範囲で・・・。 >データをDBに入れておいて、その器となるテンプレートページを用意すれば、カテゴリ分けや検索からページが作成されるのではないのですか? その通りです。たとえばカテゴリで、 http://~/?cat=3 とアクセスされたら、 データベースに接続 >>カテゴリid 3 の該当記事を取得 >> テンプレートに充てて結果表示 という流れです。 ご存知かとは思いますが念のため書きますと、検索に限らず、各投稿ページも ?page=5 などクエリにて指定されたら、データベースから当該データ取得 >> テンプレートに従って表示 されます。 (したがって、そのページはファイルのような形では存在せず、アクセスされたその場で「動的に」作成されます)「作成」というより「生成」されるといった方がよいでしょうか。 また、「データをDBに入れておいて」がどのようにデータを入れたのかちょっと気になるのですが、データベース内の各テーブルは密接に関連していますから、管理画面を通さずに、自力でデータベースに直接記事を記入してもどこかで歪み(データ不整合)が出る可能性が高いです。 投稿記事のwp_postsテーブルだけでなく、カテゴリと記事を関連づける wp_term_relationships テーブルも編集する必要があります。 その他トラックバックやらいろいろありますので、構造を理解されるまでは直接編集は避けた方が無難です。 >Post投稿も100用意するのでしょうか? csv形式にて一括投稿できるプラグインがあります。ググッてみて下さい。 (標準でデータのインポート機能がありますが、xml形式で編集しずらいかと) WordPressはいろいろ改造でき、確かに後々サイト作成にも応用が効く反面、お好みに仕立てるには暫くは大変かも知れません。「製品一覧とその詳細ページからなるサイト」であれば、かえってPHP+MySQL本一冊をマスターした方がかえって近道かも。

piyo-maru7
質問者

お礼

回答ありがとうございます。 1. ページが動的に生成されること 2. WordpressからDBのどのデータを参照するのかをストアドプロシージャなどで指定するのではなく、既定のテーブルにデータを流し込んでいく形式 であることが分かりました。 >かえってPHP+MySQL本一冊をマスター WordPressを使用したいのですが、こちらも理解しておかないといけないのかも知れません。 ありがとうございました。

関連するQ&A

  • WordPressの各ページにh1を作りたい

    ここ数日、行き詰まっています。どうしても解決ができなく、 ご教示頂けませんでしょうか。 何卒よろしくお願い申し上げます。 現在、WordPressテーマのヘッダーphpに条件分岐でH1をつけようと取り組んでいます。 今できていることは、 ・トップページのh1表示 ・投稿、固定ページにカスタムフィールドにh1を作り、それぞれのページに表示 ・カテゴリー、タグの一覧ページへの表示 ・お知らせの一覧と詳細ページへの表示 できていないこと ・通常の投稿のアーカイブページへの表示 ・製品カテゴリーで設定した名前での一覧ページ(アーカイブ)への表示 となります。 もともとのテンプレートには、製品紹介用のカスタム投稿タイプが用意されていました。 管理画面上のメニューでは、 製品紹介 -新規追加 -製品カテゴリー となっています。 できていないというのは、この製品カテゴリーのところになり、 WordPress Codexの条件分岐タグページを見ながらいろいろ組み替えたり したのですが、どうしてもうまく表示することができないでおります。 ソースは以下のようにしています。 <?php if(is_front_page() && is_home()): ?> <div class="area-h1"> <h1>トップページのh1は表示されています。</h1> </div> <?php elseif(is_category()): ?> <div class="area-h1"> <h1>カテゴリー:<?php single_cat_title(); ?>で表示されています。</h1> </div> <?php elseif(is_tag()): ?> <div class="area-h1"> <h1>タグ:<?php single_tag_title(); ?> で表示されています。</h1> </div> <?php elseif(is_post_type_archive( 'news')): ?> <div class="area-h1"> <h1>お知らせ一覧に表示されています。</h1> </div> <?php elseif(is_singular( 'news')): ?> <div class="area-h1"> <h1><?php the_time('Y'); ?>年<?php the_time('M'); ?><?php the_time('d'); ?>日のお知らせで表示されています。</h1> </div> <?php elseif(is_post_type_archive( 'product')):?> <div class="area-h1"> <h1>商品一覧に表示されました。</h1> </div> <?php elseif(is_singular( 'product')): ?> <div class="area-h1"> <h1><?php echo get_post_meta($post->ID , 'h1' ,true); ?>で商品ページに表示されました。</h1> </div> ※ここから下が分かりません。 <?php elseif(is_archive()): ?> <div class="area-h1"> <h1><?php the_time('Y'); ?>年<?php the_time('M'); ?>の記事一覧、通常投稿のアーカイブページ</h1> </div> ↑ どちらか一方しか有効でない ↓ <?php elseif(is_archive( 'product')): ?> <div class="area-h1"> <h1><?php single_cat_title(); ?>製品カテゴリー毎のアーカイブページ?</h1>   </div> <?php endif ; ?> その他に試したもの (1)<?php elseif(is_tax( 'product')): ?> <div class="area-h1"> <h1><?php single_cat_title(); ?>製品カテゴリー毎のアーカイブページ?</h1> </div> (2)<?php elseif(is_category( 'product')): ?> <div class="area-h1"> <h1><?php single_cat_title(); ?>製品カテゴリー毎のアーカイブページ?</h1> </div> ここ数日、ずっとできないでおりまして、 おかしなところなどアドバイスを頂けましたら本当に助かります。 何卒よろしくお願い申し上げます。

    • 締切済み
    • PHP
  • wordpressのカテゴリ一覧ページについて

    wordpressでcategory.phpをカスタマイズしてカテゴリ一覧ページを作りたいのですが、下記のようなカテゴリ構造の場合 カテゴリ1(大カテゴリ)  LカテゴリA(中カテゴリ)   Lカテゴリ(1)(小カテゴリ)    L詳細ページ1    L詳細ページ2     カテゴリ2(大カテゴリ)  LカテゴリB(中カテゴリ)   Lカテゴリ(2)(小カテゴリ)    L詳細ページ1    L詳細ページ2 各カテゴリ一覧ページで (1)大カテゴリ一覧ページには中カテゴリへのリンクのみ表示 (2)中カテゴリ一覧ページには小カテゴリへのリンクのみ表示 (3)小カテゴリ一覧ページには各詳細ページへのリンクのみ表示 の3種類のページを作りたいのですが、 各カテゴリが可変の場合<?php in_category(ID);>は使えないと思うのですが、 wordpressで上記の条件に対応するテンプレートタグはあるのでしょうか? (例:子孫カテゴリがない場合の条件分岐や親カテゴリがない場合の条件分岐等) いろいろ調べましたが、該当するものが見つからず困っています。 どなたかご教授頂ければ、非常に助かります。よろしくお願い致します。

  • 【WordPress】カテゴリ内のエントリーをひとつだけ表示して一覧を作る方法

    【大カテゴリ→小カテゴリ→詳細ページ】 という遷移で、大カテゴリと小カテゴリは別々のテンプレートを適用させます。 (別々のテンプレートを適用させる方法は分かります) 今回質問させて頂きたいのは大カテゴリの表示方法です。 大カテゴリは、その中に含まれる小カテゴリ一覧のページです。 各小カテゴリに含まれるエントリーの中からひとつだけをピックアップして表示し、そのループで小カテゴリの一覧として表示するページです。各エントリーにはサムネイル画像とテキストの説明が含まれます。サムネイル画像はできればカスタムフィールドで入力したいです。 これらをクリックすると、詳細ページではなく小カテゴリに移動します。 詳細ページに移動できるのはあくまで小カテゴリからのみで、大カテゴリからは移動できません。 エントリーひとつだけをピックアップする方法はどんな方法でも構いません。例えば小カテゴリの中の最初のエントリーを表示するとか。 以上ですが、このようなことは可能でしょうか? 可能であれば、大カテゴリのテンプレートの作成についてご教授いただければ幸いです。

  • wordpressでの構築について

    現在php,smarty,mysqlで構築した中古車サイトを運営しています。 更新を楽にしたいのでwordpressで構築を考えているのですが質問です。 id,name,gread,・・・ 1,車種名1,グレード1,・・・ 2,車種名2,グレード2,・・・ 3,車種名3,グレード3,・・・ 現状は上記のような構成でdbに1台づつの詳細情報を登録しておりurlのパラメータから表示する idを決め共通のテンプレートを利用し詳細情報を表示させています。 これが一般的な方法だと思うのですがwordpressの場合それぞれの詳細情報ページを作って やらなければ実現できないのですか? 今回初めて触ってみたので使い方がわからない事もあるのですが記事もしくはページとして 作成するとその内容がdbに登録されるようなので必要な車両分のページを作成しなければこのような 事は実現できない?と思ってしまいます。 各車により詳細情報は異なりますがデザインの一括変更を考慮すると共通のテンプレートを 作りそれぞれの変数を振り当て表示させる事が希望なのですがこのような事はどうすれば可能でしょうか? 参考url等でも構いませんのでこのような事を実現する場合の方法を教えてください。

    • 締切済み
    • PHP
  • ホームページビルダー11/データベース/詳細ページからリンクで一覧ページに戻りたい。

    Homepagebuilder11を利用しています。Homepagebuilderの初心者です。 データベースから一覧ページと詳細ページを作りました。 データ量は、200件程度です。 一覧ページからのリンクで詳細ページに入り、いくつか詳細ページを見た後に、一覧ページに戻りたく、詳細ページテンプレートに一覧ページに戻るリンクを付けてあります。 データベースを更新した後に、プレビューで詳細ページを見ると、各詳細ページにはリンクが張られた状況になっています。 しかし、これをクリックすると一覧ページに戻ることができません。ページ編集でリンク内容を確認すると、リンク先は一覧ページテンプレートになってしまっており、一覧ページになっていません。 なお、「←→」で戻ることはできます。 こんな状況を解決いたしたく、ご指導よろしくお願い致します。

  • あるカテゴリーの固定ページ一覧/WordPress

    <?php wp_list_pages('title_li='); ?>で固定ページ一覧が表示されますが あるカテゴリーの固定ページに限定して一覧表示できないでしょうか。 固定ページにカテゴリーを設定は、functions.phpに add_action('init','add_categories_for_pages'); function add_categories_for_pages(){ register_taxonomy_for_object_type('category', 'page'); } add_action( 'pre_get_posts', 'nobita_merge_page_categories_at_category_archive' ); function nobita_merge_page_categories_at_category_archive( $query ) { if ( $query->is_category== true && $query->is_main_query() ) { $query->set('post_type', array( 'post', 'page', 'nav_menu_item')); } } と記述して、解決しています。

    • ベストアンサー
    • PHP
  • [wordpress] 固定ページで、カテゴリ名の

    [wordpress] 固定ページで、記事の一覧を表示し、その記事の属するカテゴリ名の表示 wordpressで、商品一覧ページを作成していて、一覧を表示するページは固定ページにしています。 その商品一覧の中で、記事(商品)の属するカテゴリ名を表示させたいのですが どうすればいいでしょうか? 商品が服なので、その商品が属するカテゴリを項目の一つとして出力したいのです。 つまり『抽出した商品毎(have_post()の出力結果)にカテゴリ名を抽出』という感じです。 具体的なソースも教えて頂けると助かります。 <?php the_category(); ?> はダメでした。 [参考ソース] <div id="collectionWrap" class="clearfix"> <?php $loop = new WP_Query( array( 'post_type' => 'collection', 'posts_per_page' => 8 ) ); while ( $loop->have_posts() ) : $loop->the_post(); ?> <div class="collection"> <div class="image"> <a href="<?php the_permalink() ?>"><?php echo wp_get_attachment_image(get_post_meta($post->ID,"画像",true),'medium' ); ?></a> </div> <div class="txt"> <div class="clearfix mb10"> <p class="upDate"><?php echo get_post_meta($post->ID,"性別",true); ?></p> <p class="seasons"> <span> /*ここにカテゴリの種類を出力 */ </span></p> </div> <p class="itemName"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></p> <p class="itemPrice">&yen;&nbsp;<?php echo get_post_meta($post->ID,"価格",true); ?></p> </div> </div> <?php endwhile; ?> <?php wp_reset_query(); ?> </div> どうかよろしく御願いします。足りない情報等あればおっしゃってください。 自分でもいろいろ調べてるのですが、わかりません。。急いでます。

    • ベストアンサー
    • PHP
  • ページを遷移せずにデータ送信

    はじめまして。こちらのカテゴリに質問投稿するのは初めてです。 投稿カテゴリが適切かどうかさえも不明ですが、お知恵を拝借したく投稿させて頂きます。 表題の通りですが、SNSなどに多く使われている、コメントを投稿する際、ページを遷移することなくフォームのデータを送信し、そのデータをMySQLに登録するとった流れを考えています。 http://shun-ichiro.com/log/reminder/php-jquery-ajax-mysql/ 上記サイトは、フォーム上のデータではなく、ボタンを押した際に決まったデータをDB内に登録する者ですが、データ処理という意味での流れは理想に近く、上記サイトでサンプルとして配布されているものをテストしているのですが、このページ上にテキストフォームなどを加えた場合の処理が、お恥ずかしながら一向に見えてこないのが現状です。 上記ページを例にした場合、テキストフォームを設置し、そのデータをDBに登録するための、post.js はどのようなスクリプトとなるのでしょうか? PHPはこれまで触ってきましたが、Ajax?Javascript?を触るのは初めてといっていい程で、色々と調べながら今日まで来ましたが、適切なキーワードさえも不明で、欲する情報になかなか辿り受けない状況です。(もうかれこれ1週間以上思考錯誤しています・・汗) お忙しいなか恐縮ですが、アドバイスのほど宜しくお願い致します。

    • ベストアンサー
    • AJAX
  • MovableTypeのカテゴリーページ作成について

    MovableTypeの初心者ですが、現在MT3.3.4を利用して、「最新情報」と「イベント」カテゴリの記事を作成しようとしていますが、下記のようなURLでカテゴリーのインデックスページで作成したいと考えています。 ・「最新情報」 http://www.abc.com/infomation/news/index.html ・「イベント」 http://www.abc.com/infomation/event/index.html そこで質問ですが、それぞれのカテゴリーごとにエントリー一覧ページを出力させる為の、「アーカイブマッピング」の設定の仕方がわかりません。 「category/sub_category/index.html」と設定するだけではだめなのでしょうか? あと、テンプレートにそれぞれ(event,news)のエントリー毎の一覧ページがうまく出力できません。 <MTEntries lastn="10" category="<$MTCategoryLabel$>"><$MTEntryBody$></MTEntries> 上記のソースでカテゴリー・アーカイブのテンプレートを記述していますが、うまく振り分けることが出来ません。 ご存知の方がおられましたら、ご教授をお願い致します。

  • wordpressでのタグ一覧について2つの質問

    ------------------------------------------------ ●質問1 ------------------------------------------------ 各カテゴリのページで、そのページに属するタグを一覧で表示させています。 現在はタグクラウドを使って一覧を表示させているのですが、下記URLにある形で現在のカテゴリーページに属するタグ一覧を取得する方法はありますか? http://daisukebe.net/get_terms-post_tag/ $this_cat = $cat; get_terms('post_tag', 'include='.$this_cat); を追加してみましたがダメでした。 ※ループ外です ※wpのバージョンは3.8です ------------------------------------------------ ●質問2 ------------------------------------------------ 上記で取得したタグ一覧で、 タグをクリックするとそのタグに関連する記事が一覧で表示されますが、 クリック時のカテゴリページに属する記事のみ取得することは可能ですか? 皆様よろしくお願い致します。

    • 締切済み
    • PHP

専門家に質問してみよう