%PDF- %PDF-
| Direktori : /home/infra/new-ong/bethemeold/functions/modules/ |
| Current File : //home/infra/new-ong/bethemeold/functions/modules/class-mfn-query-pagination.php |
<?php
defined( 'ABSPATH' ) || exit;
class MfnQueryPagination {
public $type = false;
public $query = false;
public $paged = false;
public $args = false;
public $obj = false;
public $translate = false;
public function __construct( $obj, $query = false ){
global $wp_query;
$this->obj = $obj;
$this->type = $obj['attr']['query_post_pagination'];
if( !method_exists( $this, $this->type ) ) return;
$this->query = $query ? $query : $wp_query;
$this->paged = (get_query_var('paged')) ? get_query_var('paged') : ((get_query_var('page')) ? get_query_var('page') : 1);
$this->translate['prev'] = mfn_opts_get('translate') ? mfn_opts_get('translate-prev', '‹ Prev page') : __('Prev page', 'betheme');
$this->translate['next'] = mfn_opts_get('translate') ? mfn_opts_get('translate-next', 'Next page ›') : __('Next page', 'betheme');
$this->translate['load-more'] = mfn_opts_get('translate') ? mfn_opts_get('translate-load-more', 'Load more') : __('Load more', 'betheme');
$this->args = array(
'current' => $this->paged,
'total' => $this->query->max_num_pages ?? 0,
'type' => 'list',
'next_text' => esc_html($this->translate['next']) .'<i class="icon-right-open" aria-hidden="true"></i>',
'prev_text' => '<i class="icon-left-open" aria-hidden="true"></i>' . esc_html($this->translate['prev']),
'show_all' => true
);
if( $this->type == 'loadmore' || $this->type == 'infiniteload' ) $this->args['next_text'] = $this->translate['load-more'];
}
public function render() {
$fun_name = $this->type;
$classes = array('mfn-query-pagination', 'mfn-query-pagination-'.$this->type);
if( $this->type == 'infiniteload' ) {
$classes[] = 'mfn-query-pagination-loadmore';
}
echo '<div class="'.implode(' ', $classes).'">';
$this->$fun_name();
echo '</div>';
}
public function numbers(){
echo paginate_links($this->args);
}
public function dots(){
echo paginate_links($this->args);
}
public function prevnext(){
echo paginate_links($this->args);
}
public function loadmore(){
echo paginate_links($this->args);
}
public function infiniteload(){
wp_enqueue_script('mfn-waypoints', get_theme_file_uri('/js/plugins/waypoints.min.js'), ['jquery'], MFN_THEME_VERSION, true);
echo paginate_links($this->args);
}
public function bebuilderHtml() {
echo '<div class="mfn-query-pagination mfn-query-pagination-'.$this->type.'">';
echo '<ul class="page-numbers">
<li><a class="prev page-numbers" href="#">'.$this->args['prev_text'].'</a></li>
<li><a class="page-numbers" href="#">1</a></li>
<li><span aria-current="page" class="page-numbers current">2</span></li>
<li><a class="page-numbers" href="#">3</a></li>
<li><a class="next page-numbers" href="#">'.$this->args['next_text'].'</a></li>
</ul>';
echo '</div>';
}
}
?>