※ ChatGPTを利用し、要約された質問です(原文:ワードプレス固定ページのページングについて)
ワードプレス固定ページのページングについて
2012/12/17 16:04
このQ&Aのポイント
ワードプレスの固定ページでの検索結果の表示やページングについて正常動作しない問題が発生しています。
同一ファイル内のコードにおいて、2ページ目のリンク設定が上手く行えず、誤動作しています。
hrefにファイルの指定や試した方法では解決しないため、原因や解決策を教えていただきたいです。
初めまして。WordPress・PHPの初心者で大変恐縮ではございますが、
ご質問させていただきます。
この度、固定ページに検索結果を表示し、その検索結果を件数指定し、
ページングを行いたいと考えています。
既にWordPress外では、実装でき正常動作を確認しているのですが、
WordPressの固定ページに組み込むと、2ページ目のリンク設定が
上手く行えておらず、誤動作してしまう状態です。
コードは同一ファイルに
【PHP】
if ($_POST["page"] !== "all") {
//取り出す最大レコード数
$lim = $_POST["page"];
//最初と最後のページ番号を定義
$first = 1;
$last = ceil ($num / $lim);
//表示するページ位置を取得
$p = intval ($temp_p);
if ($p < $first) {
$p = $first;
} elseif ($p > $last) {
$p = $last;
}
//表示するレコード位置を取得
$st = ($p - 1) * $lim;
//前後のページ移動数と表示数
//$page = 10 現在のページの前後10ページへのリンク番号を表示
//$page = 10 現在のページの前後10ページ目に移動
$page = 3;
//前後$pageページ移動した際のページ番号を取得
$prev = $p - $page;
$next = $p + $page;
//前後1ページ移動した際のページ番号を取得
$prev01 = $p - 1;
$next01 = $p + 1;
//$stから$lim件のデータを取得し、並べ替える
$sql .= " ORDER BY hoge LIMIT " . $st . "," . $lim . ";";
//ページ移動リンクの組み立て
//1ページ前のページ
if ($p > 1) {
$pagePrev = "<a href=\"$_SERVER[PHP_SELF]?p=$prev01\"><</a> ";
}
//各ページ番号への移動リンクを表示
for ($cnt = $p - $page; $cnt <= $last; $cnt++) {
if ($cnt < 1) {
$cnt = 1;
}
$pageNo = "<a href=\"$_SERVER[PHP_SELF]?p=$cnt\">$cnt</a> ";
//表示番号を指定数に区切る
//ページ番号と現在のページが同一の場合は
//リンク無しにする
if ($cnt <= $p + $page) {
if ($cnt == $p) {
$pageNo = $p;
}
}
}
//1ページ後のページ
if (($next01 - 1) * $lim < $reccnt) {
$pageNext = "<a href=\"$_SERVER[PHP_SELF]?p=$next01\">></a> ";
}
//最初のページへ移動
if ($p > 1) {
$pageFirst = "<a href=\"$_SERVER[PHP_SELF]?p=$first\">最初</a> ";
}
//前の$pageページへ移動
if ($p > $page) {
echo "<a href=\"$_SERVER[PHP_SELF]?p=$prev\"><<</a> ";
}
//次の$pageページへ移動
if (($next - 1) * $lim < $reccnt) {
echo "<a href=\"$_SERVER[PHP_SELF]?p=$next\">>></a> ";
}
//最後のページへ移動
if ($p < $last) {
$pageLast = "<a href=\"$_SERVER[PHP_SELF]?p=$last\">最後</a> ";
}
}
【html】
<?php
echo $pageFirst;
echo $pagePrev;
echo $pageNo;
echo $pageNext;
echo $pageLast;
?>
としており、a href=\"$_SERVER[PHP_SELF]?p=$hoge が上手く行えて
いないからだと自分では考えているので、hrefにこのファイルの指定や
私が思い当たる方法では試してみたのですが、やはり解決することはできませんでした。
説明が不十分で大変失礼かと思いますが、どういった原因が考えられるでしょうか?
リンク以外の観点からも、アドバイスをいただければと考えております。
お力を貸していただければ大変嬉しく思います。よろしくお願いいたします。
質問の原文を閉じる
質問の原文を表示する
お礼
度重なるご回答誠にありがとうございます。 WordPressのマニュアルもろくに見ず、 手探りで行った結果だと反省しております。 H240S18B73様のおっしゃることが大分理解できました。 確かにこれなら実装可能ですし、なによりWordPressの 機能を今よりも利用することができるので、より良い サイトが制作できそうです。 是非これからチャレンジしてみたいと思います。 この度は、お力添えいただきましてありがとうございました。