tag in the document head, and expect WordPress to
* provide it for us.
*/
add_theme_support('title-tag');
/*
* Enable support for Post Thumbnails on posts and pages.
*
* @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/
*/
add_theme_support('post-thumbnails');
// This theme uses wp_nav_menu() in one location.
register_nav_menus(array(
'primary' => __('Primary', 'builder-lite'),
));
/*
* Switch default core markup for search form, comment form, and comments
* to output valid HTML5.
*/
add_theme_support('html5', array(
'comment-form',
'comment-list',
'gallery',
'caption',
));
// Set up the WordPress core custom background feature.
add_theme_support('custom-background', apply_filters('builder_litel_custom_background_args', array(
'default-color' => 'ffffff',
'default-image' => '',
)));
// Add theme support for selective refresh for widgets.
add_theme_support('customize-selective-refresh-widgets');
}
endif;
add_action('after_setup_theme', 'builder_lite_setup');
/**
* Custom Logo
*
*
*/
function builder_lite_logo_setup()
{
add_theme_support('custom-logo', array(
'height' => 60,
'width' => 180,
'flex-height' => true,
'flex-width' => true,
));
}
add_action('after_setup_theme', 'builder_lite_logo_setup');
/**
* Set the content width in pixels, based on the theme's design and stylesheet.
*
* Priority 0 to make it available to lower priority callbacks.
*
* @global int $content_width
*/
function builder_lite_content_width()
{
$GLOBALS['content_width'] = apply_filters('builder_lite_content_width', 640);
}
add_action('after_setup_theme', 'builder_lite_content_width', 0);
/**
* Register widget area.
*
* @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar
*/
function builder_lite_widgets_init()
{
register_sidebar(array(
'name' => __('Blog Sidebar', 'builder-lite'),
'id' => 'sidebar-1',
'description' => __('Add widgets here.', 'builder-lite'),
'before_widget' => '',
'before_title' => '
',
));
register_sidebar(array(
'name' => __('Footer Column1', 'builder-lite'),
'id' => 'footer-column1',
'description' => __('Add widgets here.', 'builder-lite'),
'before_widget' => '',
'after_widget' => '
',
'before_title' => '',
));
register_sidebar(array(
'name' => __('Footer Column2', 'builder-lite'),
'id' => 'footer-column2',
'description' => __('Add widgets here.', 'builder-lite'),
'before_widget' => '',
'after_widget' => '
',
'before_title' => '',
));
register_sidebar(array(
'name' => __('Footer Column3', 'builder-lite'),
'id' => 'footer-column3',
'description' => __('Add widgets here.', 'builder-lite'),
'before_widget' => '',
'after_widget' => '
',
'before_title' => '',
));
register_sidebar(array(
'name' => __('Footer Column4', 'builder-lite'),
'id' => 'footer-column4',
'description' => __('Add widgets here.', 'builder-lite'),
'before_widget' => '',
'after_widget' => '
',
'before_title' => '',
));
}
add_action('widgets_init', 'builder_lite_widgets_init');
if (!function_exists('bul_asset_suffix')) :
function bul_asset_suffix()
{
$suffix = '.min';
if (defined('WP_DEBUG') && WP_DEBUG) {
$suffix = '';
}
return $suffix;
}
endif;
/**
* Admin Scripts
*/
if (!function_exists('builder_lite_admin_scripts')) :
function builder_lite_admin_scripts($hook)
{
if ('appearance_page_builder-lite-theme-info' != $hook && 'themes.php' != $hook) {
return;
}
wp_enqueue_style('builder-lite-info-css', get_template_directory_uri() . '/assets/css/builder-lite-theme-info.css', false);
}
endif;
add_action('admin_enqueue_scripts', 'builder_lite_admin_scripts');
/**
* Display Dynamic CSS.
*/
function builder_lite_dynamic_css_wrap()
{
require_once(get_parent_theme_file_path('/inc/dynamic-styles.php'));
?>
urlencode(implode('|', $fonts))
), 'https://fonts.googleapis.com/css');
}
return $fonts_url;
}
/**
* Custom excerpt length.
*/
function builder_lite_my_excerpt_length($length)
{
if (is_admin()) {
return $length;
}
return 25;
}
add_filter('excerpt_length', 'builder_lite_my_excerpt_length');
/**
* Registers an editor stylesheet for the theme.
*/
function builder_lite_theme_add_editor_styles()
{
add_editor_style(get_template_directory_uri() . '/assets/css/custom-editor-style.css');
}
add_action('admin_init', 'builder_lite_theme_add_editor_styles');
/**
* Custom search form
*/
function builder_lite_search_form($form)
{
$form = '';
return $form;
}
add_filter('get_search_form', 'builder_lite_search_form', 100);
/**
*Excerpt More
*/
function builder_lite_excerpt_more($more)
{
if (is_admin()) {
return $more;
}
return '…';
}
add_filter('excerpt_more', 'builder_lite_excerpt_more');
/**
* Add a pingback url auto-discovery header for singularly identifiable articles.
*/
function builder_lite_pingback_header()
{
if (is_singular() && pings_open()) {
printf('' . "\n", get_bloginfo('pingback_url'));
}
}
add_action('wp_head', 'builder_lite_pingback_header');
/**
* Using home page title instead of site name
*/
if (!function_exists('builder_lite_breadcrumb_title')) :
function builder_lite_breadcrumb_title($title, $type, $id)
{
if ($type[0] === 'home') {
$title = get_the_title(get_option('page_on_front'));
}
return $title;
}
endif;
add_filter('bcn_breadcrumb_title', 'builder_lite_breadcrumb_title', 42, 3);
if (!function_exists('builder_lite_get_pro_url')) :
/**
* Returns an URL with utm tags
* the admin settings page.
*
* @param string $url URL fo the site.
* @param string $source utm source.
* @param string $medium utm medium.
* @param string $campaign utm campaign.
* @return mixed
*/
function builder_lite_get_pro_url($url, $source = '', $medium = '', $campaign = '')
{
$url = trailingslashit($url);
// Set up our URL if we have a source.
if (isset($source)) {
$url = add_query_arg('utm_source', sanitize_text_field($source), $url);
}
// Set up our URL if we have a medium.
if (isset($medium)) {
$url = add_query_arg('utm_medium', sanitize_text_field($medium), $url);
}
// Set up our URL if we have a campaign.
if (isset($campaign)) {
$url = add_query_arg('utm_campaign', sanitize_text_field($campaign), $url);
}
return esc_url($url);
}
endif;
/**
* Set homepage and blog page after demo import
*/
function builder_lite_after_import_setup()
{
//Assign menus to their locations
$main_menu = get_term_by('name', 'Primary', 'nav_menu');
set_theme_mod('nav_menu_locations', array(
'primary' => $main_menu->term_id,
)
);
//Assign front page
$front_page = get_page_by_title('Home');
$blog_page = get_page_by_title('Blog');
update_option('show_on_front', 'page');
update_option('page_on_front', $front_page->ID);
update_option('page_for_posts', $blog_page->ID);
}
add_action('pt-ocdi/after_import', 'builder_lite_after_import_setup');
require_once get_template_directory() . '/inc/tgm-plugin-activation/builder-lite-tgm-plugin-activation.php';
if (is_admin()) {
/**
* Admin Menu Settings
*/
require_once get_template_directory() . '/inc/admin/class-builder-lite-admin-settings.php';
}
/**
* Customizer additions.
*/
require get_template_directory() . '/inc/customizer/customizer.php';
/*
* Header hooks
*/
require get_template_directory() . '/inc/hooks/header-hooks.php';
/*
* Footer hooks
*/
require get_template_directory() . '/inc/hooks/footer-hooks.php';
/**
* Template functions
*/
require get_template_directory() . '/inc/template-functions.php';
/**
* Custom template tags for this theme.
*/
require get_template_directory() . '/inc/template-tags.php';
/**
* Extra classes for this theme.
*/
require get_template_directory() . '/inc/extras.php';