<?php
/**
 * Functions which enhance the theme by hooking into WordPress
 *
 * @package blogging_hub
 */

/**
 * Adds custom classes to the array of body classes.
 *
 * @param array $classes Classes for the body element.
 * @return array
 */
function blogging_hub_body_classes( $classes ) {
	// Adds a class of hfeed to non-singular pages.
	if ( ! is_singular() ) {
		$classes[] = 'hfeed';
	}

	// Add a class if there is a custom header.
	if ( has_header_image() ) {
		$classes[] = 'has-header-image';
	}

	// Add class if sidebar is used.
	if ( is_active_sidebar( 'sidebar-1' ) ) {
		$classes[] = 'has-sidebar';
	}

	if( is_page() ) {
		$page_sidebar = get_theme_mod( 'page_sidebar', 'no-sidebar' );
		$classes[] = esc_attr( $page_sidebar );
	}

	if( is_single() ) {
		$single_post_sidebar = get_theme_mod( 'single_post_sidebar' , 'right-sidebar' );
		$classes[] = esc_attr( $single_post_sidebar );
	}

	if ( is_home() ) {
		$blog_sidebar = get_theme_mod( 'blog_sidebar' , 'right-sidebar' );
		$classes[] = esc_attr( $blog_sidebar );
	}

	if( is_archive() || is_search() || is_404() ) {
		$archive_sidebar = get_theme_mod( 'archive_sidebar' , 'right-sidebar' );
		$classes[] = esc_attr( $archive_sidebar );
	}

	return $classes;
}
add_filter( 'body_class', 'blogging_hub_body_classes' );

/**
 * Add a pingback url auto-discovery header for single posts, pages, or attachments.
 */
function blogging_hub_pingback_header() {
	if ( is_singular() && pings_open() ) {
		printf( '<link rel="pingback" href="%s">', esc_url( get_bloginfo( 'pingback_url' ) ) );
	}
}
add_action( 'wp_head', 'blogging_hub_pingback_header' );

/**
 * blogging_hub Excerpt Length
 *
 * @since blogging_hub 1.0.0
 *
 * @param null
 * @return void
 */

if ( ! function_exists( 'blogging_hub_excerpt_length' ) ) :

  /**
   * Implement excerpt length.
   *
   * @since 1.0.0
   *
   * @param int $length The number of words.
   * @return int Excerpt length.
   */
  function blogging_hub_excerpt_length( $length ) {

    if ( is_admin() ) {
      return $length;
    }

    $blogging_hub_excerpt_length = get_theme_mod( 'excerpt_length', 30 );

    if ( absint( $blogging_hub_excerpt_length ) > 0 ) {
      $length = absint( $blogging_hub_excerpt_length );
    }

    return $length;
  }

endif;

add_filter( 'excerpt_length', 'blogging_hub_excerpt_length', 999 );

/**
 * Blogging Hub  functions and definitions
 *
 * @package Blogging Hub 
 */
/* Breadcrumb Begin */
function blogging_hub_the_breadcrumb() {
	if (!is_home()) {
		echo '<a href="';
			echo esc_url( home_url() );
		echo '">';
			bloginfo('name');
		echo "</a> >> ";
		if (is_category() || is_single()) {
			the_category('>>');
			if (is_single()) {
				echo ">> <span> ";
					echo esc_html( get_the_title() );
				echo "</span> ";
			}
		} elseif (is_page()) {
			echo "<span> ";
				echo esc_html( get_the_title() );
			echo "</span> ";
		}
	}
}