Last active
October 12, 2022 15:26
-
-
Save diggeddy/c2bdc6190a314238d15bad6979a5ac34 to your computer and use it in GitHub Desktop.
Nested Category archive
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* The template for displaying nested category pages. | |
* | |
* @package GeneratePress | |
*/ | |
if ( ! defined( 'ABSPATH' ) ) { | |
exit; // Exit if accessed directly. | |
} | |
get_header(); ?> | |
<div <?php generate_do_attr( 'content' ); ?>> | |
<main <?php generate_do_attr( 'main' ); ?>> | |
<?php | |
/** | |
* generate_before_main_content hook. | |
* | |
* @since 0.1 | |
*/ | |
do_action( 'generate_before_main_content' ); | |
if ( generate_has_default_loop() ) { | |
if ( have_posts() ) : | |
/** | |
* generate_archive_title hook. | |
* | |
* @since 0.1 | |
* | |
* @hooked generate_archive_title - 10 | |
*/ | |
do_action( 'generate_archive_title' ); | |
/** | |
* generate_before_loop hook. | |
* | |
* @since 3.1.0 | |
*/ | |
do_action( 'generate_before_loop', 'archive' ); | |
/** Foreach loop if category is parent */ | |
$current_cat = get_queried_object(); | |
$subcategories = get_categories( | |
array( 'parent' => $current_cat->term_id ) | |
); | |
if(!empty($subcategories)){ | |
foreach($subcategories as $cat){ | |
echo '<div class="subcategory-header">'.$cat->name.'</div>'; | |
$cat_posts = get_posts( array( | |
'posts_per_page' => -1, | |
'category' => $cat->term_id | |
) ); | |
if ( $cat_posts ) { | |
foreach ( $cat_posts as $post ) : | |
generate_do_template_part( 'archive' ); | |
endforeach; | |
} | |
} | |
} else { | |
/** if not a parent the return default loop. */ | |
while ( have_posts() ) : | |
the_post(); | |
generate_do_template_part( 'archive' ); | |
endwhile; | |
} | |
/** | |
* generate_after_loop hook. | |
* | |
* @since 2.3 | |
*/ | |
do_action( 'generate_after_loop', 'archive' ); | |
else : | |
generate_do_template_part( 'none' ); | |
endif; | |
} | |
/** | |
* generate_after_main_content hook. | |
* | |
* @since 0.1 | |
*/ | |
do_action( 'generate_after_main_content' ); | |
?> | |
</main> | |
</div> | |
<?php | |
/** | |
* generate_after_primary_content_area hook. | |
* | |
* @since 2.0 | |
*/ | |
do_action( 'generate_after_primary_content_area' ); | |
generate_construct_sidebars(); | |
get_footer(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment