Pagination
-
Hallo,
Ik heb een site waarin ik gevonden en verloren voorwerpen toon.
Deze ben ik aan het omzetten naar WP. Nu loop ik tegen een probleem aan, en dat is dat wanneer ik bijvooorbeeld alleen alle spullen die verloren of gevonden zijn in Amsterdam wil tonen ik een lijst krijg van 100-en items op 1 pagina. Dat wordt aardig scrollen voor de mensen en de tijd om zo’n pagina te laden duurt ook te lang. Ik zou graag de pagination optie van WP willen gebruiken, en derhalve zal ik een stuk code moeten aanroepen om de posts op de juiste manier te tonen. Met https://emoji.wordpress.org/plugins/code-snippets/ heb ik het volgende gemaakt als voorbeeld zie hieronder, werkt prima maar…ik krijg er geen “pagina opmaak” bij…alleen een lange lijst.Welke functie van WP moet ik “aanroepen” om de de pagination te krijgen ? Ik heb eea gelezen over de LOOP, maar wanneer en hoe moet ik die waar aanroepen.
===============================================================================
/**
* Adds Widget
*/
class Amsterdam_Widget extends WP_Widget {/**
* Register widget with WordPress.
*/
function __construct() {
parent::__construct(
‘beloning_widget’, // Base ID
esc_html__( ‘Niet in lijst? bel 0900-9299’, ‘text_domain’ ), // Name
array( ‘description’ => esc_html__( ‘Amsterdam Widget’, ‘text_domain’ ), ) // Args
);
}public function widget( $args, $instance ) {
echo $args[‘before_widget’];
if ( ! empty( $instance[‘title’] ) ) {
echo $args[‘before_title’] . apply_filters( ‘widget_title’, $instance[‘title’] ) . $args[‘after_title’];
}
// echo esc_html__( ‘hieronder een lijst alle Amsterdam meldingen’, ‘dit is een widget’ );
// echo $args[‘after_widget’];?>
<table bgcolor=”#f7f7f7″ border=”0″>
<tr>
<th>Datum</th>
<th>Omschrijving</th></tr>
<?php
global $wpdb;
// !!!!!!! Let op!!! Voor beloningen is het veld ‘ad_state” gebruikt !!!!!
$result = $wpdb->get_results ( “SELECT wp_awpcp_ads.ad_id,
wp_awpcp_ads.ad_title,
wp_awpcp_ads.ad_postdate,
wp_awpcp_ads.ad_category_parent_id,
wp_awpcp_ad_regions.ad_id,
wp_awpcp_ad_regions.state,
wp_awpcp_ad_regions.cityFROM
wp_awpcp_ads, wp_awpcp_ad_regions
WHERE
wp_awpcp_ads.ad_id = wp_awpcp_ad_regions.ad_id
AND
wp_awpcp_ad_regions.city = ‘Amsterdam’
ORDER BY
wp_awpcp_ads.ad_id desc limit 100”);// $result = $wpdb->get_results ( “SELECT wp_awpcp_ads.ad_id, wp_awpcp_ad.regions.city FROM wp_awpcp_ads WHERE city = ‘Amsterdam’ ORDER BY ad_id DESC”);
foreach ( $result as $print ) {
echo ‘<tr>’;echo ‘<td>ad_id) . ‘>’ . $print->ad_postdate .'</td>’;
// volgende regel is voor contole om te kijken of het een 1 of 2 is
//echo ‘<td>ad_id) . ‘>’ . $print->ad_category_parent_id .'</td>’;echo ‘<td style=”text-align:left”>ad_id) . ‘>’ . $print->ad_title .'</td>’;
echo ‘<td> ad_category_parent_id .’.jpg” height=”50″ width=”50″></td>’;echo ‘</tr>’;
}?>
</table>
<?php}
/**
* Back-end widget form.
*
* @see WP_Widget::form()
*
* @param array $instance Previously saved values from database.
*/
public function form( $instance ) {
$title = ! empty( $instance[‘title’] ) ? $instance[‘title’] : esc_html__( ‘Niet in lijst? bel 0900-9299’, ‘text_domain’ );
?>
<p>
<label for=”<?php echo esc_attr( $this->get_field_id( ‘title’ ) ); ?>”><?php esc_attr_e( ‘Title:’, ‘text_domain’ ); ?></label>
<input class=”widefat” id=”<?php echo esc_attr( $this->get_field_id( ‘title’ ) ); ?>” name=”<?php echo esc_attr( $this->get_field_name( ‘title’ ) ); ?>” type=”text” value=”<?php echo esc_attr( $title ); ?>”>
</p>
<?php
}public function showusers() {
$user_count = $wpdb->get_var( “SELECT COUNT(*) FROM $wpdb->users” );
echo “<p>User count is {$user_count}</p>”;
}/**
* Sanitize widget form values as they are saved.
*
* @see WP_Widget::update()
*
* @param array $new_instance Values just sent to be saved.
* @param array $old_instance Previously saved values from database.
*
* @return array Updated safe values to be saved.
*/
public function update( $new_instance, $old_instance ) {
$instance = array();
$instance[‘title’] = ( ! empty( $new_instance[‘title’] ) ) ? strip_tags( $new_instance[‘title’] ) : ”;return $instance;
}} // class Foo_Widget
// register Plaats_Widget
function register_Amsterdam_widget() {
register_widget( ‘Amsterdam_Widget’ );
}
add_action( ‘widgets_init’, ‘register_Amsterdam_widget’ );=============================================================================
- Het onderwerp ‘Pagination’ is gesloten voor nieuwe reacties.