xarxaprod-wp-theme/archive.php

138 lines
4.7 KiB
PHP

<?php
/**
* The template for displaying archive pages
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package Xarxaprod_theme
*/
get_header();
?>
<main id="primary" class="site-main">
<header class="page-header">
<h1><?php single_term_title( ' ' ); ?></h1>
</header>
<aside>
<?php if( in_category('faq') ) : ?>
<?php xarxaprod_display_faqs_labels();//display all faq subcategories as labels ?>
<?php xarxaprod_display_faqs_search(); ?>
<?php endif; //end if is_category faq ?>
<?php if ( in_category( array( 'agenda', 'agenda-es','activitats') ) ) : ?>
<?php wp_nav_menu(
array(
'theme_location' => 'menu-3',
'menu_id' => 'agenda-menu',
)
); ?>
<?php endif; //end in_category agenda activitats ?>
</aside>
<?php if ( have_posts() ) : ?>
<content class="archive-posts <?php xarxaprod_class_posttype(); ?>">
<?php
/* Start the Loop */
//while ( have_posts() ) :
// the_post();
if( in_category('faq') ) {
while ( have_posts() ) :
the_post();
get_template_part( 'template-parts/section', 'each-faq' );
endwhile;
the_posts_navigation();
//end if is_category faq
} elseif (in_category( array( 'activitats') ) ) {
//get_template_part( 'template-parts/section', 'each-agenda-entry' );
$the_query_archive_activitats = new WP_Query(
array(
//'post_type' => 'post',
//'posts_per_page' => '-1', //show all => -1
//'tax_query' => array(
// array(
// 'taxonomy' => 'category',
// 'field' => 'slug',
// 'terms' => 'activitats'
// )
//),
'meta_query' => array(
array( //filter results show only older than today
'key' => 'xxp_agenda_date_end',
'value' => date("Y-m-d"), // consider using date_i18n() https://developer.wordpress.org/reference/functions/date_i18n/
'compare' => '>', //show events before today
'type' => 'DATE',
)
),
'order_by' => 'meta_value', //order by meta value
'order' => 'ASC', //order ascendent
)
);
if ( $the_query_archive_activitats->have_posts() ) :
while ( $the_query_archive_activitats->have_posts() ) : $the_query_archive_activitats->the_post();
get_template_part( 'template-parts/section', 'each-agenda-entry' );
endwhile;//end of the loop
// pagination will not work for custom_query, why and fix: https://wordpress.stackexchange.com/a/120408
// the_posts_navigation();
endif; //end if the_query_archive_activitats
wp_reset_postdata(); //reset custom query
//end in_category agenda activitats
} elseif (in_category( array( 'convocatories') ) ) {
$the_query_archive_convocatories = new WP_Query(
array(
'post_type' => 'post',
'posts_per_page' => '-1', //show all => -1
'tax_query' => array(
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => 'convocatories'
)
),
)
);
if ( $the_query_archive_convocatories->have_posts() ) :
while ( $the_query_archive_convocatories->have_posts() ) : $the_query_archive_convocatories->the_post();
get_template_part( 'template-parts/section', 'eachconvo' );
endwhile;//end of the loop
endif; //end if the_query_archive_activitats
wp_reset_postdata(); //reset custom query
//end in_category convocatories
}else{
//the rest of archives
while ( have_posts() ) :
the_post();
/*
* Include the Post-Type-specific template for the content.
* If you want to override this in a child theme, then include a file
* called content-___.php (where ___ is the Post Type name) and that will be used instead.
*/
//get_template_part( 'template-parts/content', get_post_type() );
get_template_part( 'template-parts/section', 'each-entry' );
endwhile;
the_posts_navigation();
}
else : //no if have_posts
get_template_part( 'template-parts/content', 'none' ); ?>
</content>
<?php endif; //end if have_posts?>
</main><!-- #main -->
<?php
get_sidebar();
get_footer();