📜  制作分页 wordpress 管理面板 - PHP (1)

📅  最后修改于: 2023-12-03 15:07:16.746000             🧑  作者: Mango

制作分页 WordPress 管理面板 - PHP

介绍

在 WordPress 管理面板中,你可以将你的自定义页面和数据添加到 WordPress 后台的任何位置,并以分页方式来浏览。这为管理页面和数据提供了很大的方便。在本教程中,我们将介绍如何制作一个 WordPress 管理面板并添加分页功能。

步骤
  1. 首先,你需要创建一个 WordPress 插件。请在 WordPress 插件目录中创建一个名为 my-plugin 的文件夹,并在其中创建一个名为 my-plugin.php 的主要插件文件。
<?php
/*
Plugin Name: My Plugin
Plugin URI: https://www.example.com/
Description: My Plugin
Author: Your Name
Version: 1.0
Author URI: https://www.example.com/
*/

// Plugin code here

?>
  1. 创建一个菜单页面,在 WordPress 后台中显示新页面的链接。在插件文件中添加以下代码以创建菜单页面。
add_action('admin_menu', 'my_plugin_menu');

function my_plugin_menu() {
    add_menu_page('My Plugin', 'My Plugin', 'manage_options', 'my-plugin', 'my_plugin_page');
}

function my_plugin_page() {
    // Add your page code here
}
  1. 创建所需的分页链接。在插件文件中添加以下代码以创建分页链接。
function my_plugin_page() {

    // Number of items per page
    $items_per_page = 10;

    // Current page number
    $current_page = isset( $_GET['p'] ) ? abs( (int) $_GET['p'] ) : 1;

    // The offset of the list based on current page number.
    $offset = ( $current_page * $items_per_page ) - $items_per_page;

    // Get your data based on the current page and item count per page
    $my_data = my_get_data( $offset, $items_per_page );

    // Display your data on the page
    my_display_data( $my_data );

    // Get the total number of items
    $total_items = my_get_total_items();

    // Calculate the total number of pages
    $total_pages = ceil( $total_items / $items_per_page );

    // Add pagination links
    my_display_pagination( $current_page, $total_pages );

}

你需要实现 my_get_data()my_get_total_items()my_display_data()my_display_pagination() 函数。

  1. 实现 my_get_data()my_get_total_items()my_display_data() 函数。
function my_get_data( $offset, $items_per_page ) {
    // Add your data retrieval code here, and return the data
}

function my_get_total_items() {
    // Add your code to get the total number of items, and return it
}

function my_display_data( $my_data ) {
    // Add your code to display your retrieved data here
}
  1. 最后,实现 my_display_pagination() 函数。
function my_display_pagination( $current_page, $total_pages ) {

    $page_links = array();

    // Previous page link
    if( $current_page > 1 ) {
        $page_links[] = '<a href="?page=my-plugin&amp;p=' . ( $current_page - 1 ) . '">&laquo; Previous</a>';
    }

    // Numbered page links
    for( $i = 1; $i <= $total_pages; $i++ ) {
        if( $i == $current_page ) {
            $page_links[] = '<span class="current">' . $i . '</span>';
        } else {
            $page_links[] = '<a href="?page=my-plugin&amp;p=' . $i . '">' . $i . '</a>';
        }
    }

    // Next page link
    if( $current_page < $total_pages ) {
        $page_links[] = '<a href="?page=my-plugin&amp;p=' . ( $current_page + 1 ) . '">Next &raquo;</a>';
    }

    // Output the page links
    echo '<div class="tablenav"><div class="tablenav-pages">' . implode( '', $page_links ) . '</div></div>';
}
结尾

现在你已经学会了如何制作分页 WordPress 管理面板并添加分页链接。在你的自定义管理页面和数据中使用此方法,可以为你的 WordPress 网站提供更好的管理功能。