• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ワードプレス固定ページのページングについて)

ワードプレス固定ページのページングについて

このQ&Aのポイント
  • ワードプレスの固定ページでの検索結果の表示やページングについて正常動作しない問題が発生しています。
  • 同一ファイル内のコードにおいて、2ページ目のリンク設定が上手く行えず、誤動作しています。
  • hrefにファイルの指定や試した方法では解決しないため、原因や解決策を教えていただきたいです。

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

  • ベストアンサー
回答No.3

>>2 聞く限り余裕でWordpressの範疇だと思います WP_queryとかいじくらないでもいいんじゃないかと思えるぐらいです まず商品情報を登録するなら固定ページではなく通常の投稿 もしくは通常の投稿はすでにつかっているなら カスタム投稿を作ってそこに入れるようにしましょう (カスタム投稿の登録については言い出すと 話がややこしくなりそうなのでここでは割愛します) 固定ページはそういう用途に想定されてません テーマファイルの search.phpが検索結果一覧ページ single.phpが個別ページになります 要はsearch.phpとsingle.phpの ループの内容を変えてやればいいのです http://wpdocs.sourceforge.jp/テンプレート階層 wordpressテーマ作り初心者はまずこのページから search.phpでのページングは『wp-pagenavi』というプラグインで簡単に実現します あと『CustomFieldTemplate』というプラグインを探して入れてみてください このプラグインとdo_shortcode()やpost_custom()使うだけで 商品検索CMSには必要充分な機能を実現する道具が揃うはずです

glllssunn
質問者

お礼

度重なるご回答誠にありがとうございます。 WordPressのマニュアルもろくに見ず、 手探りで行った結果だと反省しております。 H240S18B73様のおっしゃることが大分理解できました。 確かにこれなら実装可能ですし、なによりWordPressの 機能を今よりも利用することができるので、より良い サイトが制作できそうです。 是非これからチャレンジしてみたいと思います。 この度は、お力添えいただきましてありがとうございました。

その他の回答 (2)

回答No.2

とりあえず『?p=$hoge』はマズイです pはWordpressが投稿IDとして解釈します その他s,cat,tax,tagとかはwordpressが使います qとかもプラグインで使うヤツが結構いるので避けたいです current_pageとか被らない名前にしときましょう あと 固定ページで検索結果をループをさせるってことは WP_query使ってるのですよね? 自力で表示ページ数とか計算・格納して クエリ生成とかしなくても WP_queryにはページ分割の手段が ちゃんと用意されてます (それにページングのリンクでは GETしか渡してないんだから 『$lim = $_POST["page"];』 がちゃんと入るはずないと思うのですが… そのためのエラーであると予想します) http://wpdocs.sourceforge.jp/関数リファレンス/WP_Query Wordpressのテーマ自作するならとりあえずこのページはブクマ必須です それから、質問の趣旨をひっくり返すような提案なのですが 可能なら検索ページ(search.php)に固定ページのコンテンツを表示する方が ページングのプラグインも使えたりとずっと楽だと思いますよ

glllssunn
質問者

補足

度々ご回答いただきましてありがとうございます。 ご親切なご対応に大変感謝しております。 H240S18B73様のおっしゃるとおりGETの値を見直すことによって、 解決することができました。 初歩的なミスで申し訳ございませんでした。 WordPressもPHPも初心者で分からないことばかりで大変恐縮なのですが、 今回は元々WordPress外で作った検索機能を移設しておりまして、 mySQLもWordPress以外に自作のテーブルを用意し、 「検索」という固定ページに検索フォームを設置し、「検索結果」という 固定ページ1ページにmySQLより無理矢理データ表示しているという状況です。 WordPressであれば、そのような複雑なことをしなくても、実装できるのだと 思うのですが、分からないなりに手探りで行った結果、このような形となってしまいました。 解決後の質問申し訳ございませんが、こういった場合でも、 例えば現在実装されている「検索結果」の情報1件1件を 固定ページ1ページずつに分けて制作し、search.phpなどで、 その固定ページをソートした検索結果として表示することは 可能なのでしょうか? 【固定ページに検索結果の子要素を分割して制作】 ・みかん=100円 固定ページ名「みかん」 ・りんご=120円 固定ページ名「りんご」         ↓ 【固定ページに検索結果を一括して表示】 固定ページ名「検索結果」 ・みかん=100円 ・りんご=120円         ↓ 【検索結果に表示されたリンクをクリックし投稿ページに移動】 みかんについての詳細説明 このような流れをWordPressで行いたい場合、どのような方法が ございますでしょうか? もし差し支え等、ございませんでしたらアドバイスいただければと思います。 よろしくお願いいたします。

回答No.1

wordpressはhtaccessでURLかなり書き換えるので $pageLast = "<a href=\"$_SERVER[PHP_SELF]?p=$last\">最後</a> "; じゃなく $pageLast = sprintf('<a href="%s?p=%s\">最後</a> ',home_url(/固定ページ名),$last); とかにすれば動くと思います wordpressは内部処理でなんやとやってるのでいろいろ自分で頑張るより 大人しくWPの関数使っといた方がコンフリクトもしないし無難なカンジです

glllssunn
質問者

補足

早急なご回答ありがとうございます。 早速試させていただいたところ、ソースを確認すると <a href="http://www.hogehoge.com/固定ページ?p=2\"> とすることができたので、接続自体は正常に行えたようです。 大変ありがとうございました。 しかしページを移動してみるとなぜか、シンタックスエラー You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-0,' at line 1 が表示され、上手く表示することができない状態です。 単純なコード記載ミスなのか予約語関係なのか、両方を調べていますが、 解明することができません。 お手間お掛けして申し訳ございませんが、再度お力を貸していただけれと思いますので よろしくお願いいたします。

関連するQ&A

専門家に質問してみよう