| 1 |
<?php |
| 2 |
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound -- view template receives variables via extract(); prefixing is impractical. |
| 3 |
|
| 4 |
if ( ! defined( 'ABSPATH' ) ) { |
| 5 |
exit; |
| 6 |
} |
| 7 |
use WPDeveloper\BetterDocs\Utils\Helper; |
| 8 |
|
| 9 |
$_defined_vars = get_defined_vars(); |
| 10 |
$_params = isset( $_defined_vars['params'] ) ? $_defined_vars['params'] : []; |
| 11 |
$pagination = isset( $_params['pagination'] ) ? $_params['pagination'] : false; |
| 12 |
|
| 13 |
if ( isset( $archive_layout ) && $archive_layout == 'layout-1' ) { |
| 14 |
$view_object->get( 'template-parts/category-list', $_params ); |
| 15 |
} elseif ( isset( $archive_layout ) && $archive_layout == 'layout-3' ) { |
| 16 |
$post_query = new WP_Query( $_params['query_args'] ); |
| 17 |
$view_object->get( |
| 18 |
'template-parts/archive-doc-list-2', |
| 19 |
[ |
| 20 |
'current_category' => $_params['term'], |
| 21 |
'post_query' => $post_query, |
| 22 |
'docs_list_title_tag' => isset( $_params['docs_list_title_tag'] ) ? $_params['docs_list_title_tag'] : 'h2' |
| 23 |
] |
| 24 |
); |
| 25 |
} elseif ( isset( $_params['query_args'] ) ) { |
| 26 |
$post_query = new WP_Query( $_params['query_args'] ); |
| 27 |
$view_object->get( |
| 28 |
'template-parts/archive-doc-list', |
| 29 |
[ |
| 30 |
'post_query' => $post_query, |
| 31 |
'docs_list_title_tag' => isset( $_params['docs_list_title_tag'] ) ? $_params['docs_list_title_tag'] : 'h2' |
| 32 |
] |
| 33 |
); |
| 34 |
} |
| 35 |
|
| 36 |
if ( isset( $pagination ) && $pagination ) { |
| 37 |
$current_term = isset( $edit_mode ) && $edit_mode && isset( $widget_type ) && $widget_type == 'elementor' ? Helper::get_highest_docs_term() : ( isset( $_params['term'] ) ? $_params['term'] : '' ); |
| 38 |
$query_args = isset( $_params['query_args'] ) ? $_params['query_args'] : []; |
| 39 |
$post_query = new WP_Query( $query_args ); |
| 40 |
$posts_per_page = isset( $_params['posts_per_page'] ) ? $_params['posts_per_page'] : 10; |
| 41 |
$total_pages = ceil( ( isset( $post_query->found_posts ) ? $post_query->found_posts : 0 ) / $posts_per_page ); |
| 42 |
|
| 43 |
$link = ! is_wp_error( get_term_link( $current_term, 'doc_category' ) ) ? get_term_link( $current_term, 'doc_category' ) : ( get_the_ID() != false ? get_permalink( get_the_ID() ) : '' ); |
| 44 |
|
| 45 |
$view_object->get( |
| 46 |
'template-parts/pagination', |
| 47 |
[ |
| 48 |
'total_pages' => $total_pages, |
| 49 |
'link' => $link, |
| 50 |
'current_page' => isset( $_params['page'] ) ? $_params['page'] : 1, |
| 51 |
'template' => 'doc_category' |
| 52 |
] |
| 53 |
); |
| 54 |
} |
| 55 |
|