Ich habe einen Code eines von mir erstellten Plugins, der eine benutzerdefinierte Tabelle anzeigt, und ich muss Paging hinzufügen.
Dieser Code zeigt Paginierung und Ergebnisse an, funktioniert aber nicht, wenn Sie auf die folgenden Seiten klicken (1, 2, 3 … usw.), zeigt aber dasselbe an.
Das ist mein Code:
$per_page = 3;
$page = intval(get_query_var('page')); // cast to int to be on the safe side
$total_pages = ceil($wpdb->get_var("SELECT COUNT(*) FROM wp_puntos_log") / $per_page);
//use $wpdb->prepare to help against sql injection
$sql = $wpdb->prepare("SELECT * FROM wp_puntos_log LIMIT %d, %d", $page * per_page, $per_page);
$mylink = $wpdb->get_results($sql);
foreach ($mylink as $mostrar)
{
echo"
<tr>
<td>".$mostrar->punto_user_ID."</td>
<td>".$mostrar->punto_nombre."</td>
<td>".number_format($mostrar->punto_canjeados, 0, ',', '.')."</td>
<td>".cambiarFormatoFecha($mostrar->punto_fecha)."</td>";
}
echo" </tr>
</tbody>
</table>";
$big=999999999; // dummy used by 'base' below
echo paginate_links( array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?page=%#%',
'current' => max( 1, $page ),
'total' => $total_pages,
) );
Lange versucht und nicht funktioniert. Ich schätze Ihre Hilfe.
Grüße!

Piotr Kaluza
Bearbeiten: (Ich habe das Problem in der ursprünglichen Antwort gefunden, ich habe das $-Zeichen vermisst
$sql = $wpdb->prepare("SELECT * FROM wp_puntos_log LIMIT %d, %d", $page * per_page, $per_page);
sollte sein:
$sql = $wpdb->prepare("SELECT * FROM wp_puntos_log LIMIT %d, %d", $page * $per_page, $per_page);
<?php
/* Plugin Name: Pagination */
function pag_test() {
global $wpdb;
echo "<h1> Custom Pagination Example </h1>";
$per_page = 3;
$page = intval($_GET['paged']); // cast to int to be on the safe side
$total_pages = floor($wpdb->get_var("SELECT COUNT(*) FROM wp_options") / $per_page);
//use $wpdb->prepare to help against sql injection
$sql = $wpdb->prepare("SELECT * FROM wp_options LIMIT %d, %d", max($page-1, 0) * $per_page, $per_page);
$mylink = $wpdb->get_results($sql);
?> <table>
<thead>
<tr>
<th> Option </th>
<th> Value </th>
</tr>
<?php foreach ($mylink as $mostrar)
{
echo"
<tr>
<td>".$mostrar->option_name."</td>
<td>".$mostrar->option_value."</td>
";}
echo" </tr>
</tbody>
</table>";
$big=999999999; // dummy used by 'base' below
echo paginate_links( array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?page=%#%',
'current' => max( 1, $page ),
'total' => $total_pages,
) );
}
function pag_addmenu() {
add_menu_page('Pagination', 'pagination', 'manage_options', 'pgtest', pag_test);
}
add_action('admin_menu', 'pag_addmenu');
?>
9957700cookie-checkIch kann mein Plugin nicht paginierenyes