'; } if( ! empty( $title ) ) { printf( '

%s

', esc_html( $title ) ); } if( ! empty( $content ) ) { if( $content == 'content' ) { the_content(); } else if( $content == 'blog' ) { $posts = get_theme_mod( 'home-blog-posts', 3 ); singularity_get_recent_posts( $posts ); } else if( $content == 'widget-1' ) { if ( is_active_sidebar( 'home-1' ) ) { dynamic_sidebar( 'home-1' ); } } else if( $content == 'widget-2' ) { if ( is_active_sidebar( 'home-2' ) ) { dynamic_sidebar( 'home-2' ); } } else if( $content == 'downloads' ) { $downloads = get_theme_mod( 'home-number-downloads', 3 ); singularity_get_recent_downloads( $downloads ); } else if( $content == 'pages' ) { singularity_get_featured_pages(); } else if( $content == 'topics' ) { singularity_get_homepage_topics(); } } if( ! empty( $title ) || ! empty( $content ) ) { // Close section wrapper echo ''; } } } } /** * Print specified number of blog posts for homepage * @param $posts Number of posts to query */ if( ! function_exists( 'singularity_get_recent_posts' ) ) { function singularity_get_recent_posts( $number_posts=3 ) { $args = array( 'posts_per_page' => $number_posts ); $posts = new WP_Query( $args ); /* Start the Loop */ if ( $posts->have_posts() ) { echo '
'; while ( $posts->have_posts() ) : $posts->the_post(); $count = 1; // Pass the $count parameter to the template part set_query_var( 'count', $count ); set_query_var( 'posts_per_row', $number_posts ); get_template_part( 'template-parts/content' ); $count++; endwhile; echo '
'; } } } /** * Print specified number of downloads for homepage * @param $posts Number of downloads to query */ if( ! function_exists( 'singularity_get_recent_downloads' ) ) { function singularity_get_recent_downloads( $number_downloads=3 ) { $args = array( 'posts_per_page' => $number_downloads, 'post_type' => 'download' ); $posts = new WP_Query( $args ); /* Start the Loop */ if ( $posts->have_posts() ) { // Specify if this is the only download displayed so that we can format it differently $class = ''; if( $number_downloads == 1 ) { $class = 'is-single-element'; } echo '
'; while ( $posts->have_posts() ) : $posts->the_post(); $count = 1; // Pass the $count parameter to the template part set_query_var( 'count', $count ); set_query_var( 'posts_per_row', $number_downloads ); get_template_part( 'template-parts/content-download' ); $count++; endwhile; echo '
'; } wp_reset_query(); } } /** * Print specified number of topics for homepage * @param $number_topics Number of downloads to query */ if( ! function_exists( 'singularity_get_homepage_topics' ) ) { function singularity_get_homepage_topics( $number_topics=3 ) { $args = array( 'posts_per_page' => $number_topics, 'post_type' => 'discussion-topics' ); $posts = new WP_Query( $args ); /* Start the Loop */ if ( $posts->have_posts() ) { // Fields enabled on the DB Design tab $cols = ctdb_selected_meta_fields(); $count_cols = count( $cols ); // Column headings $field_titles = ctdb_meta_data_fields(); // Create the titles echo '
'; echo '
'; echo '
'; if( ! empty( $cols ) && is_array( $cols ) ) { foreach( $cols as $col ) { if( in_array( $col, array( 'replies', 'voices', 'status' ) ) ) { echo '
' . $field_titles[$col] . '
'; } } } echo '
'; while ( $posts->have_posts() ) : $posts->the_post(); // Pass these variables into the template part set_query_var( 'cols', $cols ); set_query_var( 'count_cols', $count_cols ); set_query_var( 'field_titles', $field_titles ); get_template_part( 'template-parts/content-discussion-topic' ); endwhile; } wp_reset_query(); } } /** * Print featured pages for homepage */ if( ! function_exists( 'singularity_get_featured_pages' ) ) { function singularity_get_featured_pages() { // Count how many pages $number_pages = 0; $pages = array(); for( $i=1; $i<=4; $i++ ) { $page = get_theme_mod( 'home-featured-page-' . $i ); if( ! empty( $page ) ) { $number_pages++; // Add page ID to array to use in query next $pages[] = $page; } } if( $number_pages > 0 ) { $args = array( 'post_type' => 'page', 'post__in' => $pages ); $query = new WP_Query( $args ); /* Start the Loop */ if ( $query->have_posts() ) { // Specify if this is the only download displayed so that we can format it differently $class = ''; if( $number_pages == 1 ) { $class = 'is-single-element'; } echo '
'; $count = 1; while ( $query->have_posts() ) : $query->the_post(); // Pass the $count parameter to the template part set_query_var( 'count', $count ); set_query_var( 'posts_per_row', $number_pages ); get_template_part( 'template-parts/content-featured' ); $count++; endwhile; echo '
'; } wp_reset_query(); } } }