1

WordPress でプラグインを開発し、順調に進んでいますが、プラグイン ページのページネーションに行き詰っています。これがインターネットからダウンロードした私のコードです(ここから参照を得ました)

$items = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM $wpdb->review_media GROUP BY post_id")); // number of total rows in the database

// テストし、コメントとして結果を得ました print_r($items); // 出力値 2 と言う echo $rm_options['list_per_page']; // これは値 1 で設定されたオプションです

if($items > 0) {
        $p = new pagination;
        $p->items($items);
        $p->limit(empty($rm_options['list_per_page']) ? 20 : $rm_options['list_per_page']); // Limit entries per page
        $p->target("admin.php?page=moderate.php"); 
        $p->currentPage($_GET[$p->paging]); // Gets and validates the current page
        $p->calculate(); // Calculates what to show
        $p->parameterName('paging');
        $p->adjacents(1); //No. of page away from the current page

        if(!isset($_GET['paging'])) {
            $p->page = 1;
        } else {
            $p->page = $_GET['paging'];
        }

        //Query for limit paging
        $limit = "LIMIT " . ($p->page - 1) * $p->limit  . ", " . $p->limit;

} else {
    echo "No Record Found";
}

post_id でクエリをグループ化しない場合は正常に動作しますが、グループ化するとすぐに動作が奇妙になります。ページネーション リンクを作成し、空白のページを取得しています。その理由は行をグループ化していると思います。しかし、これを解決する方法がわかりません。

ここに私のテーブルのスクリーンショットがあります

ここに画像の説明を入力

助けてくれてどうもありがとう...

4

1 に答える 1

0

WordPressWP_List_Tableクラスを使用すると、ページネーションが処理され、ユーザーにデフォルトのテーブル エクスペリエンスが提供されます。

このチュートリアルではすべてをカバーしています。ページネーションの部分は次のとおりです。

function prepare_items() {
  [...]
  $per_page = 5;
  $current_page = $this->get_pagenum();
  $total_items = count($this->example_data);

  // only necessary because we have sample data
  $this->found_data = array_slice($this->example_data,(($current_page-1)*$per_page),$per_page);

  $this->set_pagination_args( array(
    'total_items' => $total_items, //WE have to calculate the total number of items
    'per_page'    => $per_page     //WE have to determine how many items to show on a page
  ) );
  $this->items = $this->found_data;
}

そして、これがチュートリアルに示されている完全なプラグインです。また、この別のプラグインWP_List_Tableでは、データベース データを使用した動作を確認できます。

于 2013-08-29T23:14:46.977 に答える