get( 'Version' ) );
/*
* Setup and registration functions
*/
function boldr_setup() {
/* Set default $content_width */
global $content_width;
if ( ! isset( $content_width ) ) :
$content_width = 590;
endif;
/* Translation support
* Translations can be added to the /languages directory.
* A .pot template file is included to get you started
*/
load_theme_textdomain( 'boldr-lite', BOLDR_THEME_DIR . '/languages' );
/* Feed links support */
add_theme_support( 'automatic-feed-links' );
/* Register menus */
register_nav_menu( 'primary', 'Navigation menu' );
register_nav_menu( 'footer-menu', 'Footer menu' );
/* Title tag support */
add_theme_support( 'title-tag' );
/* Post Thumbnails Support */
add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 260, 260, true );
/* Custom header support */
add_theme_support(
'custom-header',
array(
'header-text' => false,
'width' => 920,
'height' => 370,
'flex-height' => true,
)
);
/* Custom background support */
add_theme_support(
'custom-background',
array(
'default-color' => '333333',
'default-image' => BOLDR_THEME_DIR_URI . '/img/black-leather.png',
)
);
/* Support HTML5 Search Form */
add_theme_support( 'html5', array( 'search-form' ) );
}
add_action( 'after_setup_theme', 'boldr_setup' );
/* Adjust $content_width depending on the page being displayed */
function boldr_content_width() {
global $content_width;
if ( is_singular() && ! is_page() ) :
$content_width = 595;
elseif ( is_page() ) :
$content_width = 680;
elseif ( is_page_template( 'page-full-width.php' ) ) :
$content_width = 920;
endif;
}
add_action( 'template_redirect', 'boldr_content_width' );
/*
* Add a home link to wp_page_menu() ( wp_nav_menu() fallback )
*/
function boldr_page_menu_args( $args ) {
if ( ! isset( $args['show_home'] ) ) :
$args['show_home'] = true;
endif;
return $args;
}
add_filter( 'wp_page_menu_args', 'boldr_page_menu_args' );
/*
* Register Sidebar and Footer widgetized areas
*/
function boldr_widgets_init() {
register_sidebar(
array(
'name' => __( 'Default Sidebar', 'boldr-lite' ),
'id' => 'sidebar',
'description' => '',
'class' => '',
'before_widget' => '
',
'after_widget' => '',
'before_title' => '',
)
);
register_sidebar(
array(
'name' => __( 'Footer', 'boldr-lite' ),
'id' => 'footer-sidebar',
'description' => '',
'class' => '',
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
)
);
}
add_action( 'widgets_init', 'boldr_widgets_init' );
/*
* Enqueue CSS styles
*/
function boldr_styles() {
$responsive_mode = get_theme_mod( 'boldr_responsive_mode' );
if ( 'off' !== $responsive_mode ) :
$stylesheet = '/css/boldr.min.css';
else :
$stylesheet = '/css/boldr-unresponsive.min.css';
endif;
/* Child theme support:
* Enqueue child-theme's versions of stylesheet in /css if they exist,
* or the parent theme's version otherwise
*/
wp_register_style( 'boldr', get_theme_file_uri( $stylesheet ), array(), BOLDR_THEME_VERSION );
// Enqueue style.css from the current theme
wp_register_style( 'boldr-style', get_theme_file_uri( '/style.css' ), array(), BOLDR_THEME_VERSION );
wp_enqueue_style( 'boldr' );
wp_enqueue_style( 'boldr-style' );
// Google Webfonts.
wp_enqueue_style( 'boldr-webfonts', '//fonts.googleapis.com/css?family=Oswald:400italic,700italic,400,700|PT+Sans:400italic,700italic,400,700&subset=latin,latin-ext', array(), null );
}
add_action( 'wp_enqueue_scripts', 'boldr_styles' );
/*
* Register editor style
*/
function boldr_editor_styles() {
add_editor_style( 'css/editor-style.css' );
}
add_action( 'init', 'boldr_editor_styles' );
/*
* Enqueue Javascripts
*/
function boldr_scripts() {
wp_enqueue_script( 'boldr', get_theme_file_uri( '/js/boldr.min.js' ), array( 'jquery', 'hoverIntent' ), BOLDR_THEME_VERSION );
// Loads HTML5 JavaScript file to add support for HTML5 elements for IE < 9.
wp_enqueue_script( 'html5shiv', get_theme_file_uri( '/js/html5.js' ), array(), BOLDR_THEME_VERSION );
// Add conditional for HTML5Shiv to only load for IE < 9
wp_script_add_data( 'html5shiv', 'conditional', 'lt IE 9' );
/* Threaded comments support */
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) :
wp_enqueue_script( 'comment-reply' );
endif;
}
add_action( 'wp_enqueue_scripts', 'boldr_scripts' );
/*
* Remove hentry class from static pages
*/
function boldr_remove_hentry( $classes ) {
if ( is_page() ) :
$classes = array_diff( $classes, array( 'hentry' ) );
endif;
return $classes;
}
add_filter( 'post_class','boldr_remove_hentry' );
/*
* Remove "rel" tags in category links (HTML5 invalid)
*/
function boldr_remove_rel_cat( $text ) {
$text = str_replace( ' rel="category"', '', $text );
$text = str_replace( ' rel="category tag"', ' rel="tag"', $text );
return $text;
}
add_filter( 'the_category', 'boldr_remove_rel_cat' );
/*
* Customize "Read More" links on index view
*/
function boldr_excerpt_more( $more ) {
global $post;
return '... ';
}
add_filter( 'excerpt_more', 'boldr_excerpt_more' );
function boldr_content_more( $more ) {
global $post;
return '';
}
add_filter( 'the_content_more_link', 'boldr_content_more' );
/*
* Rewrite and replace wp_trim_excerpt() so it adds a relevant read more link
* when the or quicktags are used
* This new function preserves every features and filters from the original wp_trim_excerpt
*/
function boldr_trim_excerpt( $text = '' ) {
global $post;
$raw_excerpt = $text;
if ( '' === $text ) {
$text = get_the_content( '' );
$text = strip_shortcodes( $text );
$text = apply_filters( 'the_content', $text );
$text = str_replace( ']]>', ']]>', $text );
$excerpt_length = apply_filters( 'excerpt_length', 55 );
$excerpt_more = apply_filters( 'excerpt_more', ' [...]' );
$text = wp_trim_words( $text, $excerpt_length, $excerpt_more );
/* If the post_content contains a OR a quicktag
* AND the more link has not been added already
* then we add it now
*/
if (
(
preg_match( '//', $post->post_content )
|| preg_match( '//', $post->post_content )
)
&& strpos( $text, $excerpt_more ) === false
) :
$text .= $excerpt_more;
endif;
}
return apply_filters( 'boldr_trim_excerpt', $text, $raw_excerpt );
}
remove_filter( 'get_the_excerpt', 'wp_trim_excerpt' );
add_filter( 'get_the_excerpt', 'boldr_trim_excerpt' );
/*
* Create dropdown menu (used in responsive mode)
* Requires a custom menu to be set (won't work with fallback menu)
*/
function boldr_dropdown_nav_menu() {
$menu_name = 'primary';
$locations = get_nav_menu_locations();
if ( $locations && isset( $locations[ $menu_name ] ) ) :
$menu = wp_get_nav_menu_object( $locations[ $menu_name ] );
if ( $menu ) :
$menu_items = wp_get_nav_menu_items( $menu->term_id );
$menu_list = '';
// $menu_list now ready to output
echo $menu_list; // WPCS: XSS ok.
endif;
endif;
}
/*
* Find whether post page needs comments pagination links (used in comments.php)
*/
function boldr_page_has_comments_nav() {
global $wp_query;
return ($wp_query->max_num_comment_pages > 1);
}
function boldr_page_has_next_comments_link() {
global $wp_query;
$max_cpage = $wp_query->max_num_comment_pages;
$cpage = get_query_var( 'cpage' );
return ( $max_cpage > $cpage );
}
function boldr_page_has_previous_comments_link() {
$cpage = get_query_var( 'cpage' );
return ($cpage > 1);
}
/*
* Find whether attachement page needs navigation links (used in single.php)
*/
function boldr_adjacent_image_link( $prev = true ) {
global $post;
$the_post = get_post( $post );
$attachments = array_values(
get_children(
'post_parent=' . $the_post->post_parent . '&post_type=attachment&post_mime_type=image&orderby="menu_order ASC, ID ASC"'
)
);
foreach ( $attachments as $k => $attachment ) :
if ( $attachment->ID === $post->ID ) :
break;
endif;
$k = $prev ? $k - 1 : $k + 1;
endforeach;
if ( isset( $attachments[ $k ] ) ) :
return true;
else :
return false;
endif;
}
/*
* Customizer
*/
require_once 'inc/customizer/customizer.php';