File: /home/aprilnet/public_html/sciohost.org/wp-content/themes/doris/inc/bk_theme_settings.php
<?php
require_once (get_template_directory() . '/library/meta_box_config.php');
add_theme_support('title-tag');
/**
* Add a pingback url auto-discovery header for single posts, pages, or attachments.
*/
function doris_pingback_header() {
if ( is_singular() && pings_open() ) {
echo '<link rel="pingback" href="', esc_url( get_bloginfo( 'pingback_url' ) ), '">';
}
}
add_action( 'wp_head', 'doris_pingback_header' );
/**
* http://codex.wordpress.org/Content_Width
*/
if ( ! isset($content_width)) {
$content_width = 1200;
}
/**
* Add support for the featured images (also known as post thumbnails).
*/
if ( function_exists( 'add_theme_support' ) ) {
add_theme_support( 'post-thumbnails' );
}
/**
* Remove Comment Default Style
*/
add_filter( 'show_recent_comments_widget_style', '__return_false' );
add_action( 'after_setup_theme', 'doris_thumbnail_setup' );
if ( ! function_exists( 'doris_thumbnail_setup' ) ){
function doris_thumbnail_setup() {
add_image_size( 'doris-xxs-4_3', 180, 135, true );
add_image_size( 'doris-xxs-1_1', 180, 180, true );
add_image_size( 'doris-xs-16_9 400x225', 400, 225, true );
add_image_size( 'doris-xs-4_3', 400, 300, true );
add_image_size( 'doris-xs-2_1', 400, 200, true );
add_image_size( 'doris-xs-1_1', 400, 400, true );
add_image_size( 'doris-xs-16_9', 600, 338, true );
add_image_size( 'doris-s-4_3', 600, 450, true );
add_image_size( 'doris-s-2_1', 600, 300, true );
add_image_size( 'doris-s-1_1', 600, 600, true );
add_image_size( 'doris-m-16_9', 800, 450, true );
add_image_size( 'doris-m-4_3', 800, 600, true );
add_image_size( 'doris-m-2_1', 800, 400, true );
add_image_size( 'doris-l-16_9', 1200, 675, true );
add_image_size( 'doris-l-4_3', 1200, 900, true );
add_image_size( 'doris-l-2_1', 1200, 600, true );
add_image_size( 'doris-xl-16_9', 1600, 900, true );
add_image_size( 'doris-xl-4_3', 1600, 1200, true );
add_image_size( 'doris-xl-2_1', 1600, 800, true );
add_image_size( 'doris-xxl', 2000, 1125, true );
}
}
/**
* Post Format
*/
add_action('after_setup_theme', 'doris_add_theme_format', 11);
function doris_add_theme_format() {
add_theme_support( 'post-formats', array( 'gallery', 'video' ) );
}
/**
* Add support for the featured images (also known as post thumbnails).
*/
if ( function_exists( 'add_theme_support' ) ) {
add_theme_support( 'post-thumbnails' );
add_theme_support( 'automatic-feed-links' );
}
/**
* Add Image Column To Posts Page
*/
function doris_featured_image_column_image( $image ) {
if ( !atbs_core::bk_check_has_post_thumbnail(get_the_ID()) )
return trailingslashit( get_stylesheet_directory_uri() ) . 'images/no-featured-image';
}
add_filter( 'featured_image_column_default_image', 'doris_featured_image_column_image' );
/**
* Register menu locations
*---------------------------------------------------
*/
if ( ! function_exists( 'doris_register_menu' ) ) {
function doris_register_menu() {
register_nav_menu('top-menu', esc_html__( 'Top Menu', 'doris' ));
register_nav_menu('main-menu', esc_html__( 'Main Menu', 'doris' ));
register_nav_menu('footer-menu', esc_html__( 'Footer Menu', 'doris' ));
register_nav_menu('offcanvas-menu', esc_html__( 'Offcanvas Menu', 'doris' ));
}
}
add_action( 'init', 'doris_register_menu' );
function doris_category_nav_class( $classes, $item ){
if( 'category' == $item->object ){
$classes[] = 'menu-item-cat-' . $item->object_id;
}
return $classes;
}
add_filter( 'nav_menu_css_class', 'doris_category_nav_class', 10, 4 );
function doris_custom_excerpt_length( $length ) {
return 100;
}
add_filter( 'excerpt_length', 'doris_custom_excerpt_length', 999 );
/**
* ReduxFramework
*/
/**-------------------------------------------------------------------------------------------------------------------------
* remove redux admin page
*/
if ( ! function_exists( 'doris_remove_redux_page' ) ) {
function doris_remove_redux_page() {
remove_submenu_page( 'tools.php', 'redux-about' );
}
add_action( 'admin_menu', 'doris_remove_redux_page', 12 );
}
/**-------------------------------------------------------------------------------------------------------------------------
* Init
*/
if ( !isset( $doris_option ) && file_exists( DORIS_LIBS.'theme-option.php' ) ) {
require_once( DORIS_LIBS.'theme-option.php' );
}
/**
* Register sidebars and widgetized areas.
*---------------------------------------------------
*/
if ( ! function_exists( 'doris_widgets_init' ) ) {
function doris_widgets_init() {
$doris_option = atbs_core::bk_get_global_var('doris_option');
register_sidebar( array(
'name' => esc_html__('Sidebar', 'doris'),
'id' => 'home_sidebar',
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<div class="widget__title"><h4 class="widget__title-text">',
'after_title' => '</h4></div>',
) );
register_sidebar( array(
'name' => esc_html__('Single Page Sidebar', 'doris'),
'id' => 'single_sidebar',
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<div class="widget__title"><h4 class="widget__title-text">',
'after_title' => '</h4></div>',
) );
register_sidebar( array(
'name' => esc_html__('Archive Page Sidebar', 'doris'),
'id' => 'archive_sidebar',
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<div class="widget__title"><h4 class="widget__title-text">',
'after_title' => '</h4></div>',
) );
}
}
add_action( 'widgets_init', 'doris_widgets_init' );
/**
* Save Post Content Word Count
*---------------------------------------------------
*/
function bk_post_content__word_count($postID){
$content = get_post_field( 'post_content', $postID );
$word_count = str_word_count( strip_tags( $content ) );
$lastLength = get_post_meta($postID, 'bk_post_content__word_count');
if(!empty($lastLength)) :
if(($lastLength[0] != '') && ($lastLength[0] != $word_count)) :
update_post_meta($postID, 'bk_post_content__word_count', $word_count);
elseif($lastLength[0] == '') :
add_post_meta($postID, 'bk_post_content__word_count', $word_count, true);
endif;
endif;
}
add_action( 'post_updated', 'bk_post_content__word_count', 10, 1 ); //don't forget the last argument to allow all three arguments of the function
/**
* Add responsive container to embeds video
*/
if ( !function_exists('bk_embed_html') ){
function bk_embed_html( $embed, $url = '', $attr = '' ) {
$accepted_providers = array(
'youtube',
'vimeo',
'slideshare',
'dailymotion',
'viddler.com',
'hulu.com',
'blip.tv',
'revision3.com',
'funnyordie.com',
'wordpress.tv',
);
$resize = false;
// Check each provider
foreach ( $accepted_providers as $provider ) {
if ( strstr( $url, $provider ) ) {
$resize = true;
break;
}
}
if ( $resize ) {
return '<div class="doris-responsive-video">' . $embed . '</div>';
} else {
return $embed;
}
}
}
add_filter( 'embed_oembed_html', 'bk_embed_html', 10, 3 );
add_filter( 'video_embed_html', 'bk_embed_html' ); // Jetpack
/**
* Limit number of tags in widget tag cloud
*/
if ( !function_exists('doris_tag_widget_limit') ) {
function doris_tag_widget_limit($args){
//Check if taxonomy option inside widget is set to tags
if(isset($args['taxonomy']) && $args['taxonomy'] == 'post_tag'){
$args['number'] = 16; //Limit number of tags
$args['smallest'] = 12; //Size of lowest count tags
$args['largest'] = 12; //Size of largest count tags
$args['unit'] = 'px'; //Unit of font size
$args['orderby'] = 'count'; //Order by counts
$args['order'] = 'DESC';
}
return $args;
}
}
add_filter('widget_tag_cloud_args', 'doris_tag_widget_limit');
?>