for posts and comments.
add_theme_support( 'automatic-feed-links' );
add_theme_support( 'title-tag' );
// This theme uses wp_nav_menu() in one location.
register_nav_menu( 'primary', esc_html__( 'Primary Menu', 'bloggers-lite' ) );
/*
* Switch default core markup for search form, comment form, and comments
* to output valid HTML5.
*/
add_theme_support(
'html5', array(
'search-form',
'comment-form',
'comment-list',
'gallery',
'caption',
)
);
/*
* Enable support for Post Formats.
* See https://developer.wordpress.org/themes/functionality/post-formats/
*/
add_theme_support(
'post-formats', array(
'image',
'video',
'quote',
'link',
'audio',
'gallery',
'chat',
'aside',
)
);
/*
* This theme supports custom background color and image,
* and here we also set up the default background color.
*/
add_theme_support( 'custom-background', array( 'default-color' => '#F2F2F2' ) );
add_theme_support( 'custom-title-color', array( 'default-color' => '#000000' ) );
// This theme uses a custom image size for featured images, displayed on "standard" posts.
add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 1200, 9999 ); // Unlimited height, soft crop.
/*
* Add custom image sizes.
*/
add_image_size( 'bloggers-lite-blog-post-single', 830, 370, true );
add_image_size( 'bloggers-lite-blog-img', 100, 100, true );
if ( isset( $_GET['activated'] ) ) {
set_theme_mod( 'header_logo', get_template_directory_uri() . '/images/logo-Header.png' );
}
// Add theme support for selective refresh for widgets.
add_theme_support( 'customize-selective-refresh-widgets' );
add_theme_support( 'custom-header', apply_filters( 'blogger_lite_custom_header_args', array(
'default-image' => get_parent_theme_file_uri( '/images/title_background_image.jpg' ),
'default-text-color' => '',
'width' => 2000,
'height' => 1200,
'flex-height' => true,
'video' => true,
'wp-head-callback' => 'bloggers_lite_header_style',
) ) );
register_default_headers(
array(
'default-image' => array(
'url' => '%s/images/title_background_image.jpg',
'thumbnail_url' => '%s/images/title_background_image.jpg',
'description' => esc_html__( 'Default Header Image', 'bloggers-lite' ),
),
)
);
}
}
add_action( 'after_setup_theme', 'bloggers_lite_setup' );
if ( ! function_exists( 'bloggers_lite_admin_menu' ) ) {
function bloggers_lite_admin_menu() {
add_theme_page( esc_html__( 'About Bloggers Lite', 'bloggers-lite' ), esc_html__( 'About Bloggers Lite', 'bloggers-lite' ), 'manage_options', 'about_bloggers_lite', 'bloggers_lite_about_theme' );
if ( ! function_exists( 'bloggers_lite_about_theme' ) ) {
function bloggers_lite_about_theme() {
get_template_part( 'inc/admin/about', 'bloggers_lite' );
}
}
}
}
add_action( 'admin_menu', 'bloggers_lite_admin_menu' );
if ( ! function_exists( 'bloggers_lite_activation_admin_notice' ) ) {
function bloggers_lite_activation_admin_notice() {
global $pagenow;
if ( is_admin() && ( 'themes.php' == $pagenow ) && isset( $_GET['activated'] ) ) {
add_action( 'admin_notices', 'bloggers_lite_welcome_notice', 99 );
}
}
}
add_action( 'load-themes.php', 'bloggers_lite_activation_admin_notice' );
if ( ! function_exists( 'bloggers_lite_welcome_notice' ) ) {
function bloggers_lite_welcome_notice() {
?>
' . esc_html__( 'welcome page.', 'bloggers-lite' ) . ''; ?>
= 2 || $page >= 2 ) && ! is_404() ) {
$title .= " $sep " . sprintf( esc_html__( 'Page', 'bloggers-lite' ) . ' ' . max( $paged, $page ) );
}
return $title;
}
}
add_filter( 'wp_title', 'bloggers_lite_wp_title', 10, 3 );
if ( ! function_exists( 'bloggers_lite_page_menu_args' ) ) {
/**
* @since Bloggers Lite 1.0
* Filter the page menu arguments.
*
* Makes our wp_nav_menu() fallback -- wp_page_menu() -- show a home link.
*/
function bloggers_lite_page_menu_args( $args ) {
if ( ! isset( $args['show_home'] ) ) {
$args['show_home'] = true;
}
return $args;
}
}
add_filter( 'wp_page_menu_args', 'bloggers_lite_page_menu_args' );
if ( ! function_exists( 'bloggers_lite_widgets_init' ) ) {
/**
* @since Bloggers Lite 1.0
* Register sidebars.
*
* Registers our main widget area and the front page widget areas.
*/
function bloggers_lite_widgets_init() {
register_sidebar(
array(
'name' => esc_html__( 'Main Sidebar', 'bloggers-lite' ),
'id' => 'sidebar-1',
'description' => esc_html__( 'Appears on posts and pages except the optional Front Page template, which has its own widgets', 'bloggers-lite' ),
'before_widget' => '',
'before_title' => '',
)
);
if ( class_exists( 'WooCommerce' ) ) {
register_sidebar(
array(
'name' => esc_html__( 'WooCommerce Sidebar', 'bloggers-lite' ),
'id' => 'wc-sidebar',
'description' => esc_html__( 'Add WooCommerce widgets here.', 'bloggers-lite' ),
'before_widget' => '',
'before_title' => '',
)
);
}
register_sidebar(
array(
'name' => esc_html__( 'Footer Column 1', 'bloggers-lite' ),
'id' => 'footer-sidebar1',
'description' => esc_html__( 'Appears in footer', 'bloggers-lite' ),
'before_widget' => '',
'before_title' => '',
)
);
register_sidebar(
array(
'name' => esc_html__( 'Footer Column 2', 'bloggers-lite' ),
'id' => 'footer-sidebar2',
'description' => esc_html__( 'Appears in footer', 'bloggers-lite' ),
'before_widget' => '',
'before_title' => '',
)
);
register_sidebar(
array(
'name' => esc_html__( 'Footer Column 3', 'bloggers-lite' ),
'id' => 'footer-sidebar3',
'description' => esc_html__( 'Appears in footer', 'bloggers-lite' ),
'before_widget' => '',
'before_title' => '',
)
);
register_sidebar(
array(
'name' => esc_html__( 'Contact Page Widget', 'bloggers-lite' ),
'id' => 'contact-sidebar',
'description' => esc_html__( 'Appears in Contact page', 'bloggers-lite' ),
'before_widget' => '',
'before_title' => '',
)
);
}
}
add_action( 'widgets_init', 'bloggers_lite_widgets_init' );
if ( ! function_exists( 'bloggers_lite_content_nav' ) ) :
/**
* @since Bloggers Lite 1.0
* Displays navigation to next/previous pages when applicable.
*/
function bloggers_lite_content_nav( $html_id ) {
global $wp_query;
$html_id = esc_attr( $html_id );
if ( $wp_query->max_num_pages > 1 ) :
?>
$stickey_layoutmenu,
'enable_loader' => $enable_loader,
);
wp_localize_script( 'bloggers_lite_script', 'attached_vars', $attached_vars );
// style.
wp_register_style( 'bootstrap-css', get_template_directory_uri() . '/bootstrap/css/bootstrap.css' );
wp_register_style( 'fontawesome-css', get_template_directory_uri() . '/css/font-awesome.css' );
wp_register_style( 'slick-css', get_template_directory_uri() . '/css/slick.css' );
wp_register_style( 'meanmenu-css', get_template_directory_uri() . '/css/meanmenu.css' );
wp_enqueue_style( 'bootstrap-css' );
wp_enqueue_style( 'fontawesome-css' );
wp_enqueue_style( 'slick-css' );
wp_enqueue_style( 'meanmenu-css' );
if ( class_exists( 'WooCommerce' ) ) {
wp_register_style( 'woocommerce_general', get_template_directory_uri() . '/css/woocommerce.css' );
wp_enqueue_style( 'woocommerce_general' );
}
$loader = get_theme_mod( 'loader_image' );
$loader_image = ! empty( $loader ) ? $loader : get_template_directory_uri() . '/images/loader.gif';
$link_color = esc_attr( get_theme_mod( 'theme_color' ) );
$header_textcolor = '#' . esc_attr( get_theme_mod( 'header_textcolor' ) );
$background_color = '#' . esc_attr( get_theme_mod( 'background_color' ) );
$background_image = get_theme_mod( 'background_image' );
$background_size = get_theme_mod( 'background_size', 'auto' );
$background_repeat = get_theme_mod( 'background_repeat', 'repeat' );
$background_attachment = get_theme_mod( 'background_attachment', 'scroll' );
$background_position_x = get_theme_mod( 'background_position_x', 'left' );
$background_position_y = get_theme_mod( 'background_position_y', 'top' );
$custom_css = "
.rotating {
background-image: url('{$loader_image}');
}
";
if ( $background_color != '' && $background_color != '#F2F2F2' ) {
$custom_css .= "
html body,
.blog-details,
.footer_area .footer-top {
background: {$background_color};
}
";
}
$custom_css .= "
.blog-details, .copyrights {
background-image: url('{$background_image}');
background-size: {$background_size};
background-attachment: {$background_attachment};
background-position: {$background_position_x} {$background_position_y};
background-repeat: {$background_repeat};
}
";
if ( $header_textcolor != '' ) {
$custom_css .= "
.menui,
.widget_calendar tbody a:hover,
.widget_calendar tbody a:focus,
.comment-form .submit:hover,
input[type='submit']:hover {
background: {$header_textcolor};
}
.tagline.site-description,
.mobilenav li a,
.stricky .mobilenav li a,
.stricky .tagline.site-description,
.stricky.normal .mobilenav li a,
.stricky.normal .tagline.site-description,
.post-header .custom-header a,
.error404.not-found > h2,
.copyrights-content p,
.copyrights-content a,
.widget-title,
.widget.widget_rss .widget-title .rsswidget,
.sidebar-title,
.comments-title,
.comment-author .fn a:hover,
.comment-content p a:hover,
.comment-reply-title,
.breadcrumbs_inner,
.breadcrumbs_inner a,
.comment-form p a,
.comment-metadata a,
.post-header .custom-header,
.footer_widget_links:hover,
.widget_calendar tfoot a:hover,
.widget_flickr .flickr_stream_link:hover,
.widget_blogger_latest_post .ourblog-content .blog-info a:hover,
.widget_blogger_latest_post .ourblog-content .blog-info .blog-date a,
.widget_recent_entries .post-date,
.widget.widget_recent_entries ul li a:hover,
.widget ul li a:hover,
.widget a:hover,
.textwidget a:hover,
.post-header .category-list a:hover,
.woocommerce-pagination ul.page-numbers > li > .page-numbers,
.more-detail:hover,
.search_page article.blog-section h2.custom-header a,
.post.no-results.not-found .custom-header,
.entry-content a:hover,
.blog-section .post-tags a:hover,
.product-caption .product-name > span,
.entry-content a:hover,
.post-entry a:hover,
.post-meta a:hover,
.author_name a:hover {
color: {$header_textcolor};
}
.woocommerce .product-add_to_cart_wrap a.button:hover,
.widget ul li:hover:before,
.widget.woocommerce.widget_price_filter .price_slider_wrapper .ui-widget-content,
.woocommerce.widget_shopping_cart .widget_shopping_cart_content .button:hover {
background: {$header_textcolor} !important;
}
.stricky .main-navigation ul.nav-menu > li.current-menu-ancestor > a,
.stricky .main-navigation ul.nav-menu > li:hover > a {
border-bottom-color: {$header_textcolor};
}
table.give-table tbody tr td,
.give_error > p, .give_success > p{
color: {$header_textcolor};
}
#give-recurring-form .form-row input.required[type='text'], #give-recurring-form .form-row input.required[type='tel'], #give-recurring-form .form-row input.required[type='email'], #give-recurring-form .form-row input.required[type='password'], #give-recurring-form .form-row input.required[type='url'], #give-recurring-form .form-row select.required, #give-recurring-form .form-row textarea.required, #give-recurring-form .give-tooltip:hover, form.give-form .form-row input.required[type='text'], form.give-form .form-row input.required[type='tel'], form.give-form .form-row input.required[type='email'], form.give-form .form-row input.required[type='password'], form.give-form .form-row input.required[type='url'], form.give-form .form-row select.required, form.give-form .form-row textarea.required, form.give-form .give-tooltip:hover, form[id*='give-form'] .form-row input.required[type='text'], form[id*='give-form'] .form-row input.required[type='tel'], form[id*='give-form'] .form-row input.required[type='email'], form[id*='give-form'] .form-row input.required[type='password'], form[id*='give-form'] .form-row input.required[type='url'], form[id*='give-form'] .form-row select.required, form[id*='give-form'] .form-row textarea.required, form[id*='give-form'] .give-tooltip:hover,
#give-recurring-form .form-row input[type='text'], #give-recurring-form .form-row input[type='tel'], #give-recurring-form .form-row input[type='email'], #give-recurring-form .form-row input[type='password'], #give-recurring-form .form-row input[type='url'], #give-recurring-form .form-row select, #give-recurring-form .form-row textarea, form.give-form .form-row input[type='text'], form.give-form .form-row input[type='tel'], form.give-form .form-row input[type='email'], form.give-form .form-row input[type='password'], form.give-form .form-row input[type='url'], form.give-form .form-row select, form.give-form .form-row textarea, form[id*='give-form'] .form-row input[type='text'], form[id*='give-form'] .form-row input[type='tel'], form[id*='give-form'] .form-row input[type='email'], form[id*='give-form'] .form-row input[type='password'], form[id*='give-form'] .form-row input[type='url'], form[id*='give-form'] .form-row select, form[id*='give-form'] .form-row textarea,
.fl-form[id*='give-form'] .fl-is-active input.fl-input, .fl-form[id*='give-form'] .fl-is-active select.fl-select, .fl-form[id*='give-form'] .fl-is-active textarea.fl-textarea,
form[id*='give-form'] select.give-select-level{
color: {$header_textcolor};
}
#content #give-recurring-form .form-row input.required,#content #give-recurring-form .form-row input, select.required, #content .give-form .form-row textarea, #content .give-form .give-tooltip:hover,
#content #give-recurring-form .form-row select.required,#content #give-recurring-form .form-row input,#content #give-recurring-form .form-row select,#content #give-recurring-form .form-row textarea,
#content .give-form select.give-select-level{
color: {$header_textcolor};
}
.fl-form[id*='give-form'] .fl-has-focus label.fl-label {
color: {$header_textcolor};
}
.nf-form-title h3,.nf-form-title h2,.nf-form-title h1 {
color: {$header_textcolor};
}
.ninja-forms-form-wrap .nf-field-label label{
color: {$header_textcolor};
}
";
}
if ( $link_color != '' && $link_color != '#ff6c3a' ) {
$custom_css .= "
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce span.onsale::before {
border-color : {$link_color};
}
#review_form_wrapper #commentform p.stars a,
.woocommerce a:hover,
.woocommerce a:focus,
.woocommerce .star-rating span,
.woocommerce .woocommerce-info::before,
ins .woocommerce-Price-amount.amount,
.woocommerce .woocommerce-message::before,
.woocommerce .product-name:hover span,
.single-product.woocommerce .product .product_meta a,
.products .added_to_cart.wc-forward {
color: {$link_color};
}
.product-caption .product-rating a.button.add_to_cart_button,
.single_add_to_cart_button.button.alt,
.related.products > h2::before,
.woocommerce #respond input#submit,
.woocommerce .upsells > h2::before,
.woocommerce > h2::before,
.woocommerce header > h2::before,
#customer_details h3::before,
.woocommerce .cart-collaterals .cart_totals h2::before,
.woocommerce a.button, .woocommerce button.button,
.woocommerce input.button,
.woocommerce .product-add_to_cart_wrap a,
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce span.onsale,
.woocommerce-MyAccount-navigation-link:hover,
.woocommerce-MyAccount-navigation-link.is-active,
.woocommerce-pagination ul.page-numbers > li > .page-numbers:hover,
.woocommerce-pagination ul.page-numbers > li > .page-numbers.current,
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle,
.widget.woocommerce.widget_price_filter .ui-slider-range.ui-widget-header,
.woocommerce-page .widget.woocommerce.widget_product_search .woocommerce-product-search input[type='submit'],
.woocommerce.widget.widget_product_tag_cloud .tagcloud a:hover,
.woocommerce-MyAccount-navigation-link:hover,
.woocommerce-MyAccount-navigation-link.is-active {
background: {$link_color};
}
.post-image.link span.post_format_standard.post_has_image,
.post-image.quote span.post_format_standard.post_has_image {
background: bloggers_lite_hex2rgba( {$link_color}, 0.57 );
}
a:hover,
a:focus,
.menu-item.menu-item-has-children > a:hover,
.main-navigation li.current-menu-ancestor > a,
.main-navigation li.current-menu-item > a,
.stricky .main-navigation ul li:hover > a,
.menu-item a:hover,
.prev_button .pagi_text,
.next_button .pagi_text,
.textwidget a,
.widget a,
.widget ul li a,
.footer .blog-date a:hover,
#secondary .blog-date a:hover,
.post-header span a,
.post-header .custom-header a:hover,
.more-detail,
.post-meta a,
.post-entry a,
.blog-head:hover,
.reply a:hover,
.comment-metadata a:hover,
.comment-form p a:hover,
.author_name a,
.comment-author .fn,
.all-comment:hover i,
.all-comment:hover a,
.entry-header .entry-title,
.footer_widget_links,
.copyrights-content a:hover,
.widget_calendar tfoot a,
.widget_flickr .flickr_stream_link,
.widget.widget_rss ul li .rsswidget,
.widget_blogger_latest_post .ourblog-content .blog-info a,
.widget_blogger_latest_post .ourblog-content .blog-info .blog-date a:hover,
.author-description a,
.comment-content a,
.comment-author .fn a,
.comment-content p a,
.widget.widget_recent_entries ul li a,
.search_page article.blog-section h2.custom-header a:hover,
.entry-content a, .post-tags a, .post-tags,
.post-entry a {
color: {$link_color};
}
.widget ul li:before {
background: {link_color};
}
blockquote,
input[type='submit'],
.pagination > a:hover,
.pagination span:hover,
.pagination > a:focus,
.pagination span:focus,
.pagination > span.current,
.widget-title:before,
.widget ul li a:hover:before,
.widget_calendar tbody a,
.tagcloud a:hover,
.blog_wrapper article.format-aside .post-entry,
.post-image.link span.post_format_standard > span,
.post-social li a:hover,
.sidebar-title::before,
.comments-title:before,
.comment-reply-title::before,
.reply a,
.comment-form .submit,
.arrow-up {
background: {$link_color};
}
table.give-table th{
color: {$link_color};
}
.give-goal-progress .income,legend{
color: {$link_color};
}
.give-form-title{
color: {$link_color};
}
.give-btn{
background-color: {$link_color};
border-color: {$link_color};
color: #fff;
}
.give-btn:hover,
.give-btn:focus,
.give-btn:active{
background-color: {$header_textcolor};
border-color: {$header_textcolor};
color:#fff;
}
.give-goal-progress .income,legend{
color: {$link_color};
}
form[id*='give-form'] .give-donation-amount .give-currency-symbol,
form[id*='give-form'] #give-final-total-wrap .give-donation-total-label{
color: {$link_color};
}
.ninja-forms-form-wrap input[type='button'],
.ninja-forms-form-wrap input[type='submit'],
.ninja-forms-form-wrap button{
background-color: {$link_color};
border-color: {$link_color};
color: #fff;
}
.ninja-forms-form-wrap input[type='button']:hover,.ninja-forms-form-wrap input[type='button']:active,.ninja-forms-form-wrap input[type='button']:focus,
.ninja-forms-form-wrap input[type='submit'],
.ninja-forms-form-wrap button{
background-color: {$header_textcolor};
border-color: {$header_textcolor};
color:#fff;
}
";
}
wp_add_inline_style( 'meanmenu-css', $custom_css );
}
}
if ( ! function_exists( 'bloggers_lite_register_admin_scipts' ) ) {
/**
* @since Bloggers Lite 1.0
* Register & Enqueue script and style required for Bloggers Lite Theme
*/
function bloggers_lite_register_admin_scipts() {
// script.
wp_register_script( 'bloggers_lite_upload-media', get_template_directory_uri() . '/js/bloggers-lite-upload-media.js' );
wp_enqueue_script( 'bloggers_lite_upload-media' );
wp_enqueue_media();
}
}
add_action( 'admin_enqueue_scripts', 'bloggers_lite_register_admin_scipts' );
if ( ! function_exists( 'bloggers_lite_add_body_class' ) ) {
/**
* @since Bloggers Lite 1.0
* Use filter to Add "sticky-header" class to body for sticky menu.
*/
function bloggers_lite_add_body_class( $classes ) {
$classes[] = 'sticky-header';
return $classes;
}
}
add_filter( 'body_class', 'bloggers_lite_add_body_class' );
/**
* @since Bloggers Lite 1.0
* Add function "bloggers_lite_lite_paging_nav" to create Bloggers Lite theme pagination
*
* @uses bloggers_lite_lite_paging_nav() To get the Google Font stylesheet URL.
*
* @since Bloggers Lite 1.0
*
* @param integer $mid_size.
* @return string pagination with HTML.
*/
if ( ! function_exists( 'bloggers_lite_paging_nav' ) ) :
function bloggers_lite_paging_nav( $mid_size = 1 ) {
// Don't print empty markup if there's only one page.
if ( $GLOBALS['wp_query']->max_num_pages < 2 ) {
return;
}
$paged = get_query_var( 'paged' ) ? intval( get_query_var( 'paged' ) ) : 1;
$pagenum_link = html_entity_decode( get_pagenum_link() );
$query_args = array();
$url_parts = explode( '?', $pagenum_link );
if ( isset( $url_parts[1] ) ) {
wp_parse_str( $url_parts[1], $query_args );
}
$pagenum_link = remove_query_arg( array_keys( $query_args ), $pagenum_link );
$pagenum_link = trailingslashit( $pagenum_link ) . '%_%';
$format = $GLOBALS['wp_rewrite']->using_index_permalinks() && ! strpos( $pagenum_link, 'index.php' ) ? 'index.php/' : '';
$format .= $GLOBALS['wp_rewrite']->using_permalinks() ? user_trailingslashit( 'page/%#%', 'paged' ) : '?paged=%#%';
// Set up paginated links.
$links = paginate_links(
array(
'base' => $pagenum_link,
'format' => $format,
'total' => $GLOBALS['wp_query']->max_num_pages,
'current' => $paged,
'mid_size' => $mid_size,
'add_args' => array_map( 'urlencode', $query_args ),
'prev_text' => '<',
'next_text' => '>',
)
);
if ( $links ) :
?>
';
return $form;
}
}
add_filter( 'get_search_form', 'bloggers_lite_my_search_form' );
/**
* @since Bloggers Lite 1.0
* Register Flickr widget.
*/
load_template( get_template_directory() . '/inc/widget/widget-flickr.php' );
/**
* @since Bloggers Lite 1.0
* Register Recent Post widget.
*/
load_template( get_template_directory() . '/inc/widget/widget-recentpost.php' );
/**
* @since Bloggers Lite 1.0
* Register contact us address widget.
*/
load_template( get_template_directory() . '/inc/widget/widget-contact_us.php' );
add_action( 'widgets_init', 'bloggers_lite_register_widgets' );
if ( ! function_exists( 'bloggers_lite_register_widgets' ) ) {
function bloggers_lite_register_widgets() {
register_widget( 'BloggersLiteFlickrWidget' );
register_widget( 'BloggersLitePost_Widget' );
register_widget( 'BloggersLiteContactUs' );
}
}
get_template_part( 'inc/register', 'plugins' );
if ( ! function_exists( 'bloggers_lite_sanitize_checkbox' ) ) {
/**
* @since Bloggers Lite 1.0
* Sanitize a checkbox setting.
*/
function bloggers_lite_sanitize_checkbox( $value ) {
if ( $value == 1 ) {
return 1;
} else {
return '';
}
}
}
if ( ! function_exists( 'bloggers_lite_kses_html' ) ) {
/**
* @since Bloggers Lite 1.0
* Allow HTML for textarea
* @param string $value.
* @return string $value
*/
function bloggers_lite_kses_html( $value ) {
return wp_kses( $value, wp_kses_allowed_html( 'entities' ) );
}
}
if ( ! function_exists( 'bloggers_lite_new_excerpt_more' ) ) {
/**
* @since Bloggers Lite 1.0
* Changes excerpt length
*/
function bloggers_lite_new_excerpt_more( $more ) {
if ( is_admin() ) {
return $more;
}
return ' ...';
}
}
add_filter( 'excerpt_more', 'bloggers_lite_new_excerpt_more' );
/**
* @since Bloggers Lite 1.0
* Includes Custom php files like custom posts, ourclients, shortcode and icon etc.
*/
get_template_part( 'inc/custom_post_type' );
get_template_part( 'inc/breadcrumb' );
if ( ! function_exists( 'bloggers_lite_get_subcat_ids' ) ) {
/**
* @since Bloggers Lite 1.0
* @param type $parent_cat
* @return type
*/
function bloggers_lite_get_subcat_ids( $parent_cat ) {
$cat_display_array = array();
$cat_display_array[] = $parent_cat;
$categories = get_categories( array( 'child_of' => $parent_cat ) );
if ( is_array( $categories ) && ! empty( $categories ) ) {
foreach ( $categories as $category ) {
$cat_display_array[] = $category->term_id;
}
}
return $cat_display_array;
}
}
add_filter( 'blogges_lite_video_embed_media', 'bloggers_lite_get_video_embed_media', 10, 1 );
if ( ! function_exists( 'bloggers_lite_get_video_embed_media' ) ) {
/**
* @since Bloggers Lite 1.0
* @return Display video embeded code in page
*/
function bloggers_lite_get_video_embed_media( $post_id ) {
$post_format = get_post_format( $post_id );
$post = get_post( $post_id );
$content = do_shortcode( apply_filters( 'the_content', $post->post_content ) );
$embeds = get_media_embedded_in_content( $content );
if ( $post_format == 'gallery' ) {
$gallery_images = get_post_gallery_images( $post_id );
if ( $gallery_images ) {
ob_start();
?>
(.*?)~ims', $post->post_content, $result ) ) {
if ( isset( $result[0] ) ) {
return $result[0];
}
}
return false;
} elseif ( $post_format == 'quote' ) {
if ( preg_match( '~([\s\S]+?)
~', $content, $matches ) ) {
if ( isset( $matches[0] ) ) {
return $matches[0];
}
}
return false;
} else {
return false;
}
}
}
if ( ! function_exists( 'bloggers_lite_hex2rgba' ) ) {
/**
* @since Bloggers Lite 1.0
* Convert hexadecimal to rgba
*/
function bloggers_lite_hex2rgba( $color, $opacity = false ) {
$default = 'rgb(0,0,0)';
// Return default if no color provided
if ( empty( $color ) ) {
return $default;
}
// Sanitize $color if "#" is provided
if ( $color[0] == '#' ) {
$color = substr( $color, 1 );
}
// Check if color has 6 or 3 characters and get values
if ( strlen( $color ) == 6 ) {
$hex = array( $color[0] . $color[1], $color[2] . $color[3], $color[4] . $color[5] );
} elseif ( strlen( $color ) == 3 ) {
$hex = array( $color[0] . $color[0], $color[1] . $color[1], $color[2] . $color[2] );
} else {
return $default;
}
// Convert hexadec to rgb
$rgb = array_map( 'hexdec', $hex );
// Check if opacity is set(rgba or rgb)
if ( $opacity ) {
if ( abs( $opacity ) > 1 ) {
$opacity = 1.0;
}
$output = 'rgba(' . implode( ',', $rgb ) . ',' . $opacity . ')';
} else {
$output = 'rgb(' . implode( ',', $rgb ) . ')';
}
// Return rgb(a) color string
return $output;
}
}
if ( ! function_exists( 'bloggers_lite_customize_preview_js' ) ) {
/**
* @since Bloggers Lite 1.0
* Enqueue Javascript postMessage handlers for the Customizer.
*
* Binds JS handlers to make the Customizer preview reload changes asynchronously.
*/
function bloggers_lite_customize_preview_js() {
wp_enqueue_script( 'bloggers-lite-customizer', get_template_directory_uri() . '/js/bloggers-lite-theme-customizer.js', array( 'customize-preview' ), '20130301', true );
}
}
add_action( 'customize_preview_init', 'bloggers_lite_customize_preview_js' );
if ( ! function_exists( 'bloggers_lite_enable_loader' ) ) {
function bloggers_lite_enable_loader() {
$enable_loader = get_theme_mod( 'enable_loader', true );
if ( $enable_loader ) {
return true;
} else {
return false;
}
}
}
/**
* @since Bloggers Lite 1.0
* Add action "customize_register" to add theme color option at admin side.
*/
add_action( 'customize_register', 'bloggers_lite_add_theme_color_option' );
if ( ! function_exists( 'bloggers_lite_add_theme_color_option' ) ) {
function bloggers_lite_add_theme_color_option( $wp_customize ) {
// add color picker setting
$wp_customize->add_setting(
'theme_color', array(
'default' => '#ff6c3a',
'sanitize_callback' => 'sanitize_hex_color',
)
);
// add color picker control to colors setting.
$wp_customize->add_control(
new WP_Customize_Color_Control(
$wp_customize, 'theme_color', array(
'label' => esc_html__( 'Theme Color', 'bloggers-lite' ),
'section' => 'colors',
'settings' => 'theme_color',
)
)
);
/* Theme Option Panel */
$wp_customize->add_panel(
'panel_id', array(
'priority' => 1,
'capability' => 'edit_theme_options',
'theme_supports' => '',
'title' => esc_html__( 'Theme Options', 'bloggers-lite' ),
'description' => esc_html__( 'Use the options below to customize your theme!', 'bloggers-lite' ),
)
);
/* Pre-Loader Settings */
$wp_customize->add_section(
'general_setting_section', array(
// 'priority' => 14,
'capability' => 'edit_theme_options',
'theme_supports' => '',
'title' => esc_html__( 'General Settings', 'bloggers-lite' ),
'description' => esc_html__( 'Manage general settings', 'bloggers-lite' ),
'panel' => 'panel_id',
)
);
$wp_customize->add_setting(
'enable_loader', array(
'default' => 0,
'type' => 'theme_mod',
'capability' => 'edit_theme_options',
'sanitize_callback' => 'bloggers_lite_sanitize_checkbox',
)
);
$wp_customize->add_control(
'enable_loader', array(
'settings' => 'enable_loader',
'label' => esc_html__( 'Show Pre Loader', 'bloggers-lite' ),
'section' => 'general_setting_section',
'type' => 'checkbox',
'priority' => 2,
)
);
$wp_customize->add_setting(
'only_home', array(
'default' => 1,
'type' => 'theme_mod',
'capability' => 'edit_theme_options',
'sanitize_callback' => 'bloggers_lite_sanitize_checkbox',
)
);
$wp_customize->add_control(
'only_home', array(
'settings' => 'only_home',
'label' => esc_html__( 'Show Pre Loader Only Home Page', 'bloggers-lite' ),
'section' => 'general_setting_section',
'type' => 'checkbox',
'priority' => 3,
'active_callback' => 'bloggers_lite_enable_loader',
)
);
$wp_customize->add_setting(
'loader_image', array(
'sanitize_callback' => 'esc_url_raw',
'default' => get_template_directory_uri() . '/images/loader.gif',
)
);
$wp_customize->add_control(
new WP_Customize_Image_Control(
$wp_customize, 'loader_image', array(
'label' => esc_html__( 'Pre Loader Image', 'bloggers-lite' ),
'section' => 'general_setting_section',
'settings' => 'loader_image',
'active_callback' => 'bloggers_lite_enable_loader',
)
)
);
$layoutArray = array();
$latest_blog_page_layout_id = 'right-sidebar';
// get all blog template layout array to display dropdown option.
$layoutArray['left-sidebar'] = esc_html__( 'Left Sidebar', 'bloggers-lite' );
$layoutArray['right-sidebar'] = esc_html__( 'Right Sidebar', 'bloggers-lite' );
$layoutArray['full-width'] = esc_html__( 'Full Width - No Sidebar', 'bloggers-lite' );
/* Blog Page Layout */
$wp_customize->add_setting(
'blog_page_layout', array(
'default' => $latest_blog_page_layout_id,
'sanitize_callback' => 'esc_attr',
)
);
$wp_customize->add_control(
'blog_page_layout', array(
'label' => esc_html__( 'Page Layout', 'bloggers-lite' ),
'section' => 'general_setting_section',
'settings' => 'blog_page_layout',
'type' => 'select',
'choices' => $layoutArray,
'description' => esc_html__( 'Select page layout.', 'bloggers-lite' ),
)
);
/* Home Settings */
$wp_customize->add_section(
'home_setting_section', array(
// 'priority' => 14,
'capability' => 'edit_theme_options',
'theme_supports' => '',
'title' => esc_html__( 'Header Settings', 'bloggers-lite' ),
'description' => esc_html__( 'Manage header settings', 'bloggers-lite' ),
'panel' => 'panel_id',
)
);
$wp_customize->add_setting(
'enable_breadcrumbs', array(
'default' => 1,
'type' => 'theme_mod',
'capability' => 'edit_theme_options',
'sanitize_callback' => 'bloggers_lite_sanitize_checkbox',
)
);
$wp_customize->add_control(
'enable_breadcrumbs', array(
'settings' => 'enable_breadcrumbs',
'label' => esc_html__( 'Show Breadcrumbs ?', 'bloggers-lite' ),
'section' => 'home_setting_section',
'type' => 'checkbox',
'priority' => 2,
)
);
// Home Page Slider Select control.
// Get all Avartan slider to create option for sliders.
load_template( ABSPATH . 'wp-admin/includes/plugin.php' );
if ( is_plugin_active( 'avartan-slider-lite/avartanslider.php' ) || is_plugin_active( 'avartanslider/avartanslider.php' ) ) {
global $wpdb;
$avartanTable = $wpdb->prefix . 'avartan_sliders';
if ( $wpdb->get_var( "SHOW TABLES LIKE '$avartanTable'" ) == $avartanTable ) {
$avartanSliders = $wpdb->get_results( "SELECT * FROM $avartanTable" );
$sliderArray = array();
$latest_slider_id = 0;
if ( ! empty( $avartanSliders ) ) {
$sliderArray[0] = esc_html__( 'Select Slider', 'bloggers-lite' );
// get all slider array to display dropdown option
foreach ( $avartanSliders as $key => $avartanSlider ) {
$sliderArray[ $avartanSlider->id ] = $avartanSlider->name;
}
if ( $sliderArray ) {
$wp_customize->add_setting(
'homepage_avartan_slider', array(
'default' => $latest_slider_id,
'sanitize_callback' => 'esc_attr',
)
);
$wp_customize->add_control(
'slider_control_setting', array(
'label' => esc_html__( 'Home Page Slider', 'bloggers-lite' ),
'section' => 'general_setting_section',
'settings' => 'homepage_avartan_slider',
'type' => 'select',
'choices' => $sliderArray,
'description' => esc_html__( 'Select Home Page Slider', 'bloggers-lite' ),
)
);
}
}
}
}
$menuArray = array();
$latest_menu_id = 'left-menu';
// get all slider array to display dropdown option.
$menuArray['left-menu'] = esc_html__( 'Left Menu', 'bloggers-lite' );
$menuArray['center-menu'] = esc_html__( 'Center Menu', 'bloggers-lite' );
$menuArray['right-menu'] = esc_html__( 'Right Menu', 'bloggers-lite' );
$menuArray['stricky-menu-left'] = esc_html__( 'Sticky Left Menu', 'bloggers-lite' );
$menuArray['stricky-menu-right'] = esc_html__( 'Sticky Right Menu', 'bloggers-lite' );
/* Header Menu */
$wp_customize->add_setting(
'header_mega_menu', array(
'default' => $latest_menu_id,
'sanitize_callback' => 'esc_attr',
)
);
$wp_customize->add_control(
'home_setting_section', array(
'label' => esc_html__( 'Header Menu', 'bloggers-lite' ),
'section' => 'home_setting_section',
'settings' => 'header_mega_menu',
'type' => 'select',
'choices' => $menuArray,
'description' => esc_html__( 'Select header menu type', 'bloggers-lite' ),
)
);
$wp_customize->add_setting(
'header_logo', array(
'sanitize_callback' => 'esc_url_raw',
'default' => get_template_directory_uri() . '/images/logo-Header.png',
)
);
$wp_customize->add_control(
new WP_Customize_Image_Control(
$wp_customize, 'header_logo', array(
'label' => esc_html__( 'Header Logo', 'bloggers-lite' ),
'section' => 'title_tagline',
'settings' => 'header_logo',
)
)
);
/* blog Page */
$wp_customize->add_section(
'blog_setting_section', array(
'capability' => 'edit_theme_options',
'theme_supports' => '',
'title' => esc_html__( 'Blog Page Settings', 'bloggers-lite' ),
'description' => esc_html__( 'Manage Blog page settings', 'bloggers-lite' ),
'panel' => 'panel_id',
)
);
/* Blog Page design selection */
$blog_page_design = array( 'default_design' => esc_html__( 'Default Theme Design', 'bloggers-lite' ) );
$blog_page_design_desc = esc_html__( 'Select blog page Design.', 'bloggers-lite' ) . '
' . esc_html__( 'Note: ', 'bloggers-lite' ) . '' . esc_html__( 'If you want more blog layouts with theme then', 'bloggers-lite' ) . '' . esc_html__( ' Install & Active', 'bloggers-lite' ) . '' . esc_html__( ' Blog Design Plugin.', 'bloggers-lite' );
load_template( ABSPATH . 'wp-admin/includes/plugin.php' );
if ( is_plugin_active( 'blog-designer/blog-designer.php' ) ) {
$blog_page_design = array(
'default_design' => esc_html__( 'Default Theme Design', 'bloggers-lite' ),
'blog_designer_lite' => esc_html__( 'Blog Designer Plugin, Blog Design', 'bloggers-lite' ),
);
$blog_page_design_desc = esc_html__( 'Select blog page Design.', 'bloggers-lite' );
}
$wp_customize->add_setting(
'blog_page_design', array(
'default' => 'default_design',
'sanitize_callback' => 'esc_attr',
)
);
$wp_customize->add_control(
'blog_page_design', array(
'label' => esc_html__( 'Blog Page Design', 'bloggers-lite' ),
'section' => 'blog_setting_section',
'settings' => 'blog_page_design',
'type' => 'select',
'choices' => $blog_page_design,
'description' => $blog_page_design_desc,
)
);
$contentArray = array();
$blog_page_content = 'from_content';
// get all blog template layout array to display dropdown option
$contentArray['from_content'] = esc_html__( 'Post Content', 'bloggers-lite' );
$contentArray['from_excerpt'] = esc_html__( 'Post Excerpt', 'bloggers-lite' );
$wp_customize->add_setting(
'blog_page_content_from', array(
'default' => $blog_page_content,
'sanitize_callback' => 'esc_attr',
)
);
$wp_customize->add_control(
'blog_page_content_from', array(
'label' => esc_html__( 'Blog Page Content From', 'bloggers-lite' ),
'section' => 'blog_setting_section',
'settings' => 'blog_page_content_from',
'type' => 'select',
'choices' => $contentArray,
'description' => esc_html__( 'Select blog page content display from.', 'bloggers-lite' ),
)
);
/* Blog Content */
$wp_customize->add_setting(
'blog_content_length', array(
'default' => '50',
'type' => 'theme_mod',
'capability' => 'edit_theme_options',
'sanitize_callback' => 'esc_attr',
)
);
$wp_customize->add_control(
'blog_content_length', array(
'label' => esc_html__( 'Blog Content Length', 'bloggers-lite' ),
'section' => 'blog_setting_section',
'settings' => 'blog_content_length',
'type' => 'text',
'description' => esc_html__( 'Enter Blog Content Length (length in words)', 'bloggers-lite' ),
)
);
/* Blog Content Read More Text */
$wp_customize->add_setting(
'blog_content_read_more_text', array(
'default' => esc_html__( 'Continue Reading', 'bloggers-lite' ),
'type' => 'theme_mod',
'capability' => 'edit_theme_options',
'sanitize_callback' => 'esc_attr',
)
);
$wp_customize->add_control(
'blog_content_read_more_text', array(
'label' => esc_html__( 'Blog Content Read More Text', 'bloggers-lite' ),
'section' => 'blog_setting_section',
'settings' => 'blog_content_read_more_text',
'type' => 'text',
'description' => esc_html__( 'Enter Blog Content Read More Text', 'bloggers-lite' ),
)
);
$wp_customize->add_setting(
'enable_categories_blog', array(
'default' => 1,
'type' => 'theme_mod',
'capability' => 'edit_theme_options',
'sanitize_callback' => 'bloggers_lite_sanitize_checkbox',
)
);
$wp_customize->add_control(
'enable_categories_blog', array(
'settings' => 'enable_categories_blog',
'label' => esc_html__( 'Show Categories', 'bloggers-lite' ),
'section' => 'blog_setting_section',
'type' => 'checkbox',
)
);
$wp_customize->add_setting(
'enable_date_blog', array(
'default' => 1,
'type' => 'theme_mod',
'capability' => 'edit_theme_options',
'sanitize_callback' => 'bloggers_lite_sanitize_checkbox',
)
);
$wp_customize->add_control(
'enable_date_blog', array(
'settings' => 'enable_date_blog',
'label' => esc_html__( 'Show Date', 'bloggers-lite' ),
'section' => 'blog_setting_section',
'type' => 'checkbox',
)
);
$wp_customize->add_setting(
'enable_tags_blog', array(
'default' => 1,
'type' => 'theme_mod',
'capability' => 'edit_theme_options',
'sanitize_callback' => 'bloggers_lite_sanitize_checkbox',
)
);
$wp_customize->add_control(
'enable_tags_blog', array(
'settings' => 'enable_tags_blog',
'label' => esc_html__( 'Show Tags', 'bloggers-lite' ),
'section' => 'blog_setting_section',
'type' => 'checkbox',
)
);
$wp_customize->add_setting(
'enable_comments_blog', array(
'default' => 1,
'type' => 'theme_mod',
'capability' => 'edit_theme_options',
'sanitize_callback' => 'bloggers_lite_sanitize_checkbox',
)
);
$wp_customize->add_control(
'enable_comments_blog', array(
'settings' => 'enable_comments_blog',
'label' => esc_html__( 'Show Comment Count', 'bloggers-lite' ),
'section' => 'blog_setting_section',
'type' => 'checkbox',
)
);
$wp_customize->add_setting(
'enable_author_blog', array(
'default' => 1,
'type' => 'theme_mod',
'capability' => 'edit_theme_options',
'sanitize_callback' => 'bloggers_lite_sanitize_checkbox',
)
);
$wp_customize->add_control(
'enable_author_blog', array(
'settings' => 'enable_author_blog',
'label' => esc_html__( 'Show Author', 'bloggers-lite' ),
'section' => 'blog_setting_section',
'type' => 'checkbox',
)
);
/* single page blog */
$wp_customize->add_section(
'single_blog_setting_section', array(
'capability' => 'edit_theme_options',
'theme_supports' => '',
'title' => esc_html__( 'Single Blog Page Settings', 'bloggers-lite' ),
'description' => esc_html__( 'Manage Single Blog page settings', 'bloggers-lite' ),
'panel' => 'panel_id',
)
);
$wp_customize->add_setting(
'enable_categories', array(
'default' => 1,
'type' => 'theme_mod',
'capability' => 'edit_theme_options',
'sanitize_callback' => 'bloggers_lite_sanitize_checkbox',
)
);
$wp_customize->add_control(
'enable_categories', array(
'settings' => 'enable_categories',
'label' => esc_html__( 'Show Categories', 'bloggers-lite' ),
'section' => 'single_blog_setting_section',
'type' => 'checkbox',
)
);
$wp_customize->add_setting(
'enable_tags', array(
'default' => 1,
'type' => 'theme_mod',
'capability' => 'edit_theme_options',
'sanitize_callback' => 'bloggers_lite_sanitize_checkbox',
)
);
$wp_customize->add_control(
'enable_tags', array(
'settings' => 'enable_tags',
'label' => esc_html__( 'Show Tags', 'bloggers-lite' ),
'section' => 'single_blog_setting_section',
'type' => 'checkbox',
)
);
$wp_customize->add_setting(
'enable_comments', array(
'default' => 1,
'type' => 'theme_mod',
'capability' => 'edit_theme_options',
'sanitize_callback' => 'bloggers_lite_sanitize_checkbox',
)
);
$wp_customize->add_control(
'enable_comments', array(
'settings' => 'enable_comments',
'label' => esc_html__( 'Show Comment Count', 'bloggers-lite' ),
'section' => 'single_blog_setting_section',
'type' => 'checkbox',
)
);
$wp_customize->add_setting(
'enable_date', array(
'default' => 1,
'type' => 'theme_mod',
'capability' => 'edit_theme_options',
'sanitize_callback' => 'bloggers_lite_sanitize_checkbox',
)
);
$wp_customize->add_control(
'enable_date', array(
'settings' => 'enable_date',
'label' => esc_html__( 'Show Date', 'bloggers-lite' ),
'section' => 'single_blog_setting_section',
'type' => 'checkbox',
)
);
$wp_customize->add_setting(
'enable_author', array(
'default' => 1,
'type' => 'theme_mod',
'capability' => 'edit_theme_options',
'sanitize_callback' => 'bloggers_lite_sanitize_checkbox',
)
);
$wp_customize->add_control(
'enable_author', array(
'settings' => 'enable_author',
'label' => esc_html__( 'Show Author', 'bloggers-lite' ),
'section' => 'single_blog_setting_section',
'type' => 'checkbox',
)
);
/* Social Share */
$wp_customize->add_setting(
'enable_social_share', array(
'default' => 1,
'type' => 'theme_mod',
'capability' => 'edit_theme_options',
'sanitize_callback' => 'bloggers_lite_sanitize_checkbox',
)
);
$wp_customize->add_control(
'enable_social_share', array(
'settings' => 'enable_social_share',
'label' => esc_html__( 'Show Social Share', 'bloggers-lite' ),
'section' => 'single_blog_setting_section',
'type' => 'checkbox',
)
);
/* Footer Settings */
$wp_customize->add_section(
'footer_setting_section', array(
'capability' => 'edit_theme_options',
'theme_supports' => '',
'title' => esc_html__( 'Footer Settings', 'bloggers-lite' ),
'description' => esc_html__( 'Manage your website\'s footer areas.', 'bloggers-lite' ),
'panel' => 'panel_id',
)
);
$wp_customize->add_setting(
'footer_logo', array(
'default' => get_template_directory_uri() . '/images/logo-footer.png',
'sanitize_callback' => 'esc_url_raw',
)
);
$wp_customize->add_control(
new WP_Customize_Image_Control(
$wp_customize, 'footer_logo', array(
'label' => esc_html__( 'Footer Logo', 'bloggers-lite' ),
'section' => 'footer_setting_section',
'settings' => 'footer_logo',
)
)
);
$wp_customize->add_setting(
'footer_background_image', array(
'sanitize_callback' => 'esc_url_raw',
'default' => get_template_directory_uri() . '/images/footer-bg.jpg',
)
);
$wp_customize->add_control(
new WP_Customize_Image_Control(
$wp_customize, 'footer_background_image', array(
'label' => esc_html__( 'Footer Background Image', 'bloggers-lite' ),
'section' => 'footer_setting_section',
'settings' => 'footer_background_image',
)
)
);
$wp_customize->add_setting(
'enable_scroll_to_top', array(
'default' => 1,
'type' => 'theme_mod',
'capability' => 'edit_theme_options',
'sanitize_callback' => 'bloggers_lite_sanitize_checkbox',
)
);
$wp_customize->add_control(
'footer_setting_section', array(
'label' => esc_html__( 'Show Scroll To Top?', 'bloggers-lite' ),
'section' => 'footer_setting_section',
'settings' => 'enable_scroll_to_top',
'type' => 'checkbox',
)
);
}
}
if ( ! function_exists( 'bloggers_lite_blog_read_more' ) ) {
/**
* @since Bloggers Lite 1.0
* For get read more content
*/
function bloggers_lite_blog_read_more() {
$excerpt_length = 100;
$bloggers_lite_layoutmenu = $exLength = (int) get_theme_mod( 'blog_content_length', '50' );
if ( ( ! empty( $exLength ) ) && ( is_int( $exLength ) ) ) {
$excerpt_length = $exLength;
}
$excerpt = get_the_content();
$text = strip_shortcodes( $excerpt );
$text = apply_filters( 'the_content', $text );
if ( get_post_format() == 'chat' ) {
$text = strip_tags( $text, '' );
if ( strpos( _x( 'words', 'Word count type. Do not translate!', 'bloggers-lite' ), 'characters' ) === 0 && preg_match( '/^utf\-?8$/i', get_option( 'blog_charset' ) ) ) {
$text = trim( preg_replace( "/[\n\r\t ]+/", ' ', $text ), ' ' );
preg_match_all( '/./u', $text, $words_array );
$words_array = array_slice( $words_array[0], 0, $num_words + 1 );
$sep = '';
} else {
$words_array = preg_split( "/[\n\r\t ]+/", $text, $excerpt_length + 1, PREG_SPLIT_NO_EMPTY );
$sep = ' ';
}
if ( count( $words_array ) > $excerpt_length ) {
array_pop( $words_array );
$text = implode( $sep, $words_array );
$excerpt_data = $text;
} else {
$excerpt_data = implode( $sep, $words_array );
}
if ( $excerpt_data != '' ) {
echo '
';
echo $excerpt_data;
echo '
';
}
} else {
$text = str_replace( ']]>', ']]>', $text );
$excerpt_data = wp_trim_words( $text, $excerpt_length, '' );
if ( $excerpt_data != '' ) {
echo '';
echo $excerpt_data;
echo '
';
}
}
}
}
/**
* @since Bloggers Lite 1.0
* Add WooCommerce support
*/
if ( class_exists( 'WooCommerce' ) ) {
// dequeue woocommerce styles.
if ( ! function_exists( 'bloggers_lite_dequeue_styles' ) ) {
function bloggers_lite_dequeue_styles( $enqueue_styles ) {
unset( $enqueue_styles['woocommerce-general'] );
return $enqueue_styles;
}
}
add_filter( 'woocommerce_enqueue_styles', 'bloggers_lite_dequeue_styles' );
add_action( 'after_setup_theme', 'bloggers_lite_woocommerce_support' );
if ( ! function_exists( 'bloggers_lite_woocommerce_support' ) ) {
function bloggers_lite_woocommerce_support() {
global $woocommerce;
add_theme_support( 'woocommerce' );
if ( version_compare( $woocommerce->version, '3.0', '>=' ) ) {
add_theme_support( 'wc-product-gallery-zoom' );
add_theme_support( 'wc-product-gallery-lightbox' );
add_theme_support( 'wc-product-gallery-slider' );
}
}
}
add_filter( 'woocommerce_show_page_title', 'bloggers_lite_hide_page_title' );
if ( ! function_exists( 'bloggers_lite_hide_page_title' ) ) {
function bloggers_lite_hide_page_title() {
return false;
}
}
}
/**
* @since Bloggers Lite 1.0
* Added Admin js for customizer
*/
add_action( 'admin_enqueue_scripts', 'bloggers_lite_admin_enqueue_scripts' );
if ( ! function_exists( 'bloggers_lite_admin_enqueue_scripts' ) ) {
function bloggers_lite_admin_enqueue_scripts() {
wp_enqueue_script( 'bloggers_lite_admin_js', get_template_directory_uri() . '/js/bloggers-lite-admin.js', array( 'jquery' ), false, true );
wp_enqueue_style( 'bloggers_lite_admin_css', get_template_directory_uri() . '/css/bloggers-lite-admin.css' );
}
}
/**
* @since Bloggers Lite 1.0
* Added footer message for review
*/
add_filter( 'widget_text', 'do_shortcode' );
if ( !isset( $_GET['page'] ) || $_GET['page'] != 'avartanslider' ) {
add_filter( 'admin_footer_text', 'bloggers_lite_remove_footer_admin' );
if ( ! function_exists( 'bloggers_lite_remove_footer_admin' ) ) {
function bloggers_lite_remove_footer_admin() {
ob_start();
?>
';
return $form;
}
}
add_filter( 'get_product_search_form', 'bloggers_lite_wc_search_form' );
if ( ! function_exists( 'bloggers_lite_call_plugin_api' ) ) {
function bloggers_lite_call_plugin_api( $slug ) {
load_template( ABSPATH . 'wp-admin/includes/plugin-install.php' );
$call_api = get_transient( 'ti_about_page_plugin_information_transient_' . $slug );
if ( false === $call_api ) {
$call_api = plugins_api(
'plugin_information', array(
'slug' => $slug,
'fields' => array(
'downloaded' => false,
'rating' => false,
'description' => false,
'short_description' => true,
'donate_link' => false,
'tags' => false,
'sections' => true,
'homepage' => true,
'added' => false,
'last_updated' => false,
'compatibility' => false,
'tested' => false,
'requires' => false,
'downloadlink' => false,
'icons' => true,
),
)
);
set_transient( 'ti_about_page_plugin_information_transient_' . $slug, $call_api, 30 * MINUTE_IN_SECONDS );
}
return $call_api;
}
}
if ( ! function_exists( 'bloggers_lite_plugin_link' ) ) {
function bloggers_lite_plugin_link( $item ) {
$installed_plugins = get_plugins();
$item['sanitized_plugin'] = $item['name'];
$actions = array();
// We have a repo plugin
if ( ! $item['version'] ) {
$item['version'] = TGM_Plugin_Activation::$instance->does_plugin_have_update( $item['slug'] );
}
/** We need to display the 'Install' hover link */
if ( ! isset( $installed_plugins[ $item['file_path'] ] ) ) {
$actions = array(
'install' => sprintf(
'Install', esc_url(
wp_nonce_url(
add_query_arg(
array(
'page' => urlencode( TGM_Plugin_Activation::$instance->menu ),
'plugin' => urlencode( $item['slug'] ),
'plugin_name' => urlencode( $item['sanitized_plugin'] ),
'plugin_source' => urlencode( $item['source'] ),
'tgmpa-install' => 'install-plugin',
'return_url' => 'fusion_plugins',
), TGM_Plugin_Activation::$instance->get_tgmpa_url()
), 'tgmpa-install', 'tgmpa-nonce'
)
), $item['sanitized_plugin']
),
);
} /** We need to display the 'Activate' hover link */ elseif ( is_plugin_inactive( $item['file_path'] ) ) {
$tab = '';
if(isset( $_GET['tab'] )) {
$tab = sanitize_text_field( $_GET['tab'] );
}
$actions = array(
'activate' => sprintf(
'Activate', esc_url(
add_query_arg(
array(
'activate_plugin' => $item['file_path'],
'bloggers-activate-nonce' => wp_create_nonce( 'bloggers-activate' ),
), admin_url( 'themes.php?page=about_bloggers_lite&tab=' . $tab )
)
), $item['sanitized_plugin']
),
);
} elseif ( is_plugin_active( $item['file_path'] ) ) {
$tab = '';
if(isset( $_GET['tab'] )) {
$tab = sanitize_text_field( $_GET['tab'] );
}
$actions = array(
'deactivate' => sprintf(
'Deactivate', esc_url(
add_query_arg(
array(
'deactivate_plugin' => $item['file_path'],
'bloggers-deactivate-nonce' => wp_create_nonce( 'bloggers-deactivate' ),
), admin_url( 'themes.php?page=about_bloggers_lite&tab=' . $tab )
)
), $item['sanitized_plugin']
),
);
}
return $actions;
}
}
if ( ! function_exists( 'bloggers_lite_page_menu_args' ) ) {
/**
* Filter the page menu arguments.
*
* Makes our wp_nav_menu() fallback -- wp_page_menu() -- show a home link.
*/
function bloggers_lite_page_menu_args( $args ) {
if ( ! isset( $args['show_home'] ) ) {
$args['show_home'] = true;
}
return $args;
}
}
add_filter( 'wp_page_menu_args', 'bloggers_lite_page_menu_args' );