';
}
}
add_action( 'wp_head', 'blogoholic_pingback_header' );
/**
* Get an array of post id and title.
*
*/
function blogoholic_get_post_choices() {
$choices = array( '' => esc_html__( '--Select--', 'blogoholic' ) );
$args = array( 'numberposts' => -1, );
$posts = get_posts( $args );
foreach ( $posts as $post ) {
$id = $post->ID;
$title = $post->post_title;
$choices[ $id ] = $title;
}
wp_reset_postdata();
return $choices;
}
/**
* Get an array of cat id and title.
*
*/
function blogoholic_get_post_cat_choices() {
$choices = array( '' => esc_html__( '--Select--', 'blogoholic' ) );
$cats = get_categories();
foreach ( $cats as $cat ) {
$id = $cat->term_id;
$title = $cat->name;
$choices[ $id ] = $title;
}
return $choices;
}
/**
* Checks to see if we're on the homepage or not.
*/
function blogoholic_is_frontpage() {
return ( is_front_page() && ! is_home() );
}
/**
* Checks to see if Static Front Page is set to "Your latest posts".
*/
function blogoholic_is_latest_posts() {
return ( is_front_page() && is_home() );
}
/**
* Checks to see if Static Front Page is set to "Posts page".
*/
function blogoholic_is_frontpage_blog() {
return ( is_home() && ! is_front_page() );
}
/**
* Checks to see if the current page displays any kind of post listing.
*/
function blogoholic_is_page_displays_posts() {
return ( blogoholic_is_frontpage_blog() || is_search() || is_archive() || blogoholic_is_latest_posts() );
}
/**
* Shows a breadcrumb for all types of pages. This is a wrapper function for the Breadcrumb_Trail class,
* which should be used in theme templates.
*
* @since 1.0.0
* @access public
* @param array $args Arguments to pass to Breadcrumb_Trail.
* @return void
*/
function blogoholic_breadcrumb( $args = array() ) {
$breadcrumb = apply_filters( 'breadcrumb_trail_object', null, $args );
if ( ! is_object( $breadcrumb ) )
$breadcrumb = new Blogoholic_Breadcrumb_Trail( $args );
return $breadcrumb->trail();
}
/**
* Pagination in archive/blog/search pages.
*/
function blogoholic_posts_pagination() {
$archive_pagination = get_theme_mod( 'blogoholic_archive_pagination_type', 'numeric' );
if ( 'disable' === $archive_pagination ) {
return;
}
if ( 'numeric' === $archive_pagination ) {
the_posts_pagination( array(
'prev_text' => blogoholic_get_svg( array( 'icon' => 'left-arrow' ) ),
'next_text' => blogoholic_get_svg( array( 'icon' => 'left-arrow' ) ),
) );
} elseif ( 'older_newer' === $archive_pagination ) {
the_posts_navigation( array(
'prev_text' => blogoholic_get_svg( array( 'icon' => 'left' ) ) . ''. esc_html__( 'Older', 'blogoholic' ) .'',
'next_text' => ''. esc_html__( 'Newer', 'blogoholic' ) .'' . blogoholic_get_svg( array( 'icon' => 'right' ) ),
) );
}
}
function blogoholic_get_svg_by_url( $url = false ) {
if ( ! $url ) {
return false;
}
$social_icons = blogoholic_social_links_icons();
foreach ( $social_icons as $attr => $value ) {
if ( false !== strpos( $url, $attr ) ) {
return blogoholic_get_svg( array( 'icon' => esc_attr( $value ) ) );
}
}
}
if ( ! function_exists( 'blogoholic_the_excerpt' ) ) :
/**
* Generate excerpt.
*
* @since 1.0.0
*
* @param int $length Excerpt length in words.
* @param WP_Post $post_obj WP_Post instance (Optional).
* @return string Excerpt.
*/
function blogoholic_the_excerpt( $length = 0, $post_obj = null ) {
global $post;
if ( is_null( $post_obj ) ) {
$post_obj = $post;
}
$length = absint( $length );
if ( 0 === $length ) {
return;
}
$source_content = $post_obj->post_content;
if ( ! empty( $post_obj->post_excerpt ) ) {
$source_content = $post_obj->post_excerpt;
}
$source_content = preg_replace( '`\[[^\]]*\]`', '', $source_content );
$trimmed_content = wp_trim_words( $source_content, $length, '…' );
return $trimmed_content;
}
endif;
function blogoholic_custom_color_scheme() {
if ( 'custom' != get_theme_mod( 'blogoholic_color_scheme' ) ) {
return;
}
$color = get_theme_mod( 'blogoholic_custom_color_scheme', '#ff8737' );
$custom_css = '
/*----------------------------------------
Color
------------------------------------------*/
a,
.site-title a:hover,
.site-title a:focus,
.site-description,
.main-navigation ul#primary-menu li.current-menu-item > a,
.main-navigation ul#primary-menu li:hover > a,
.main-navigation ul#primary-menu li:focus > a,
.main-navigation a:hover,
.main-navigation ul.nav-menu > li > a:hover,
.post-navigation a,
.posts-navigation a,
.navigation.post-navigation a:hover,
.navigation.posts-navigation a:hover,
.navigation.post-navigation a:focus,
.navigation.posts-navigation a:focus,
.widget_popular_post h3 a:hover,
.widget_popular_post h3 a:focus,
.widget_popular_post a:hover time,
.widget_popular_post a:focus time,
.widget_latest_post h3 a:hover,
.widget_latest_post h3 a:focus,
.widget_latest_post a:hover time,
.widget_latest_post a:focus time,
.widget_featured_courses .course-wrapper h5 a:hover,
.widget_featured_courses .course-wrapper h5 a:focus,
.widget_featured_courses .tp-course-price,
.widget_popular_courses .course-wrapper h5 a:hover,
.widget_popular_courses .course-wrapper h5 a:focus,
.widget_popular_courses .tp-course-price,
#secondary .cat-links a,
#secondary a:hover,
#secondary a:focus,
.page-header small,
.single-post-wrapper span.tags-links a:hover,
.single-post-wrapper span.tags-links a:focus,
.comment-meta .url:hover,
.comment-meta .url:focus,
.comment-metadata a:hover time,
.comment-metadata a:focus time,
.feature-icon a:hover,
.feature-icon a:focus,
.featured-item-wrapper .entry-title a:hover,
.featured-item-wrapper .entry-title a:focus,
#about-us .section-title a:hover,
#about-us .section-title a:focus,
.blog-posts-wrapper .entry-meta > span:not(:last-child):after,
.post-item-wrapper .entry-title a:hover,
.post-item-wrapper .entry-title a:focus,
.single-wrapper .entry-meta span a:hover,
.single-wrapper .entry-meta span a:focus,
.single-wrapper .cat-links a,
.single-wrapper .entry-meta span.byline a.fn:hover,
.single-wrapper .entry-meta span.byline a.fn:focus,
.single-wrapper .entry-meta > span a:hover,
.single-wrapper .entry-meta > span a:focus,
#colophon a:hover,
#colophon a:focus,
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce ul.products li.product a.added_to_cart.wc-forward,
.woocommerce #respond input#submit.disabled,
.woocommerce #respond input#submit:disabled,
.woocommerce #respond input#submit:disabled[disabled],
.woocommerce a.button.disabled,
.woocommerce a.button:disabled,
.woocommerce a.button:disabled[disabled],
.woocommerce button.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce input.button.disabled,
.woocommerce input.button:disabled,
.woocommerce input.button:disabled[disabled] {
color: ' . esc_attr( $color ) . ';
}
.loader-container svg,
.main-navigation ul#primary-menu li:hover > svg,
.main-navigation ul#primary-menu li:focus > svg,
.main-navigation li.menu-item-has-children:hover > a > svg,
.main-navigation li.menu-item-has-children > a:hover > svg,
.main-navigation li.menu-item-has-children > a:focus > svg,
.main-navigation ul#primary-menu > li.current-menu-item > a > svg,
.main-navigation li.search-menu a:hover svg,
.main-navigation li.search-menu a.search-active:hover svg,
.main-navigation ul#primary-menu li.search-menu:hover > a.search-active svg,
.navigation.post-navigation a:hover svg,
.navigation.posts-navigation a:hover svg,
.navigation.post-navigation a:focus svg,
.navigation.posts-navigation a:focus svg,
.single-post-wrapper span.posted-on svg,
.single-post-wrapper span.cat-links svg {
fill: ' . esc_attr( $color ) . ';
}
/*----------------------------------------
Background Color
------------------------------------------*/
.backtotop,
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.main-navigation ul.nav-menu > li.custom-button > a,
.main-navigation .count,
.pagination .page-numbers,
.pagination .page-numbers.dots:hover,
.pagination .page-numbers.dots:focus,
.pagination .page-numbers.prev,
.pagination .page-numbers.next,
form.search-form button.search-submit,
form.search-form button.search-submit:hover,
form.search-form button.search-submit:focus,
input[type="submit"],
#secondary .jetpack_subscription_widget input[type="submit"]:hover,
#secondary .jetpack_subscription_widget input[type="submit"]:focus,
.reply a,
.btn,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit:focus,
.woocommerce a.button:focus,
.woocommerce button.button:focus,
.woocommerce input.button:focus,
.woocommerce #respond input#submit.alt:focus,
.woocommerce a.button.alt:focus,
.woocommerce button.button.alt:focus,
.woocommerce input.button.alt:focus,
.woocommerce ul.products li.product a.added_to_cart.wc-forward:hover,
.woocommerce ul.products li.product a.added_to_cart.wc-forward:focus,
.woocommerce span.onsale,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
background-color: ' . esc_attr( $color ) . ';
}
/*----------------------------------------
Border Color
------------------------------------------*/
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus,
.pagination .page-numbers,
.pagination .page-numbers.dots:hover,
.pagination .page-numbers.dots:focus,
.pagination .page-numbers.prev,
.pagination .page-numbers.next,
.single-post-wrapper span.tags-links a:hover,
.single-post-wrapper span.tags-links a:focus,
.feature-icon a:hover i,
.feature-icon a:focus i,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce ul.products li.product a.added_to_cart.wc-forward,
.woocommerce #respond input#submit.disabled,
.woocommerce #respond input#submit:disabled,
.woocommerce #respond input#submit:disabled[disabled],
.woocommerce a.button.disabled,
.woocommerce a.button:disabled,
.woocommerce a.button:disabled[disabled],
.woocommerce button.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce input.button.disabled,
.woocommerce input.button:disabled,
.woocommerce input.button:disabled[disabled] {
border-color: ' . esc_attr( $color ) . ';
}
.main-navigation ul.nav-menu > li.custom-button > a,
.btn:hover,
.btn:focus,
.reply a:hover,
.reply a:focus,
input[type="submit"]:hover,
input[type="submit"]:focus {
box-shadow: 0px 5px 20px 0px rgba(0, 0, 0, 0.20);
}
#popular-products .slick-arrow:hover,
#popular-products .slick-arrow:focus {
filter: brightness(0%);
}
@media screen and (min-width: 1024px) {
.main-navigation ul#primary-menu ul li.current-menu-item > a,
.main-navigation ul#primary-menu ul li:hover > a,
.main-navigation ul#primary-menu ul li:focus > a {
color: ' . esc_attr( $color ) . ';
}
.main-navigation ul ul li.menu-item-has-children:hover > a > svg,
.main-navigation ul ul li.menu-item-has-children > a:hover > svg {
fill: ' . esc_attr( $color ) . ';
}
#search:before {
border-bottom-color: ' . esc_attr( $color ) . ';
}
}
';
wp_add_inline_style( 'blogoholic-style', $custom_css );
}
add_action( 'wp_enqueue_scripts', 'blogoholic_custom_color_scheme' );
// Add auto p to the palces where get_the_excerpt is being called.
add_filter( 'get_the_excerpt', 'wpautop' );