for posts and comments. add_theme_support( 'automatic-feed-links' ); // Enable support for Post Thumbnails, and declare two sizes. add_theme_support( 'post-thumbnails' ); //Let WordPress manage the document title. add_theme_support( 'title-tag' ); set_post_thumbnail_size( 775, 517, true ); add_image_size( 'solarify-full-width', 1170, 780, true ); add_image_size( 'solarify-small-width', 500, 800, true ); add_image_size( 'solarify-square-width', 780, 780, true ); //content width $GLOBALS['content_width'] = apply_filters( 'solarify_filter_content_width', 891 ); /* * 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 http://codex.wordpress.org/Post_Formats */ add_theme_support( 'post-formats', array( 'standard', 'aside', 'chat', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', ) ); // Declare WooCommerce support add_theme_support( 'woocommerce' ); } //solarify_action_setup() endif; add_action( 'after_setup_theme', 'solarify_action_setup' ); /** * Extend the default WordPress body classes. * * Adds body classes to denote: * 1. Single or multiple authors. * 2. Presence of header image. * 3. Index views. * 4. Full-width content layout. * 5. Presence of footer widgets. * 6. Single views. * 7. Featured content layout. * * @param array $classes A list of existing body class values. * * @return array The filtered body class list. * @internal */ if ( !function_exists( 'solarify_filter_body_classes' ) ) : function solarify_filter_body_classes( $classes ) { if ( is_multi_author() ) { $classes[] = 'group-blog'; } if ( get_header_image() ) { $classes[] = 'header-image'; } else { $classes[] = 'masthead-fixed'; } if ( is_archive() || is_search() || is_home() ) { $classes[] = 'archive-list-view'; } if ( function_exists( 'fw_ext_sidebars_get_current_position' ) ) { $current_position = fw_ext_sidebars_get_current_position(); if ( in_array( $current_position, array( 'full', 'left' ) ) || empty( $current_position ) || is_page_template( 'page-templates/full-width.php' ) || is_attachment() ) { $classes[] = 'full-width'; } } else { $classes[] = 'full-width'; } if ( is_active_sidebar( 'sidebar-footer' ) ) { $classes[] = 'footer-widgets'; } if ( is_singular() && ! is_front_page() ) { $classes[] = 'singular'; } if ( is_front_page() && 'slider' == get_theme_mod( 'featured_content_layout' ) ) { $classes[] = 'slider'; } elseif ( is_front_page() ) { $classes[] = 'grid'; } return $classes; } //solarify_filter_body_classes() endif; add_filter( 'body_class', 'solarify_filter_body_classes' ); //changing default comment form if ( ! function_exists( 'solarify_filter_solarify_contact_form_fields' ) ) : function solarify_filter_solarify_contact_form_fields( $fields ) { $commenter = wp_get_current_commenter(); $user = wp_get_current_user(); $user_identity = $user->exists() ? $user->display_name : ''; $req = get_option( 'require_name_email' ); $aria_req = ( $req ? " aria-required='true'" : '' ); $html_req = ( $req ? " required='required'" : '' ); $html5 = 'html5'; $fields = array( 'author' => '

' . ' ' . '

', 'email' => '

' . '

', 'comment_field' => '

', ); return $fields; } //solarify_filter_solarify_contact_form_fields() endif; add_filter( 'comment_form_default_fields', 'solarify_filter_solarify_contact_form_fields' ); //changing gallery thumbnail size for entry-thumbnail display if ( ! function_exists( 'solarify_filter_fw_shortcode_atts_gallery' ) ) : function solarify_filter_fw_shortcode_atts_gallery( $out, $pairs, $atts ) { $out['size'] = 'post-thumbnail'; return $out; } //solarify_filter_fw_shortcode_atts_gallery() endif; if ( ! function_exists( 'solarify_shortcode_atts_gallery_trigger' ) ) : function solarify_shortcode_atts_gallery_trigger( $add_filter = true ) { if ( $add_filter ) { add_filter( 'shortcode_atts_gallery', 'solarify_filter_fw_shortcode_atts_gallery', 10, 3 ); } else { remove_filter( 'shortcode_atts_gallery', 'solarify_filter_fw_shortcode_atts_gallery', 10, 3 ); } } //solarify_shortcode_atts_gallery_trigger() endif; //changing events slug if ( ! function_exists( 'solarify_filter_fw_ext_events_post_slug' ) ) : function solarify_filter_fw_ext_events_post_slug( $slug ) { return 'event'; } //solarify_filter_fw_ext_events_post_slug() endif; add_filter( 'fw_ext_events_post_slug', 'solarify_filter_fw_ext_events_post_slug' ); if ( ! function_exists( 'solarify_filter_fw_ext_events_taxonomy_slug' ) ) : function solarify_filter_fw_ext_events_taxonomy_slug( $slug ) { return 'events'; } //solarify_filter_fw_ext_events_taxonomy_slug() endif; add_filter( 'fw_ext_events_taxonomy_slug', 'solarify_filter_fw_ext_events_taxonomy_slug' ); //wrapping in a span categories and archives items count if ( !function_exists('solarify_filter_add_span_to_arhcive_widget_count') ) : function solarify_filter_add_span_to_arhcive_widget_count( $links ) { //for categories widget $links = str_replace( ' (', ' (', $links ); //for archive widget $links = str_replace( ' (', ' (', $links ); $links = preg_replace( '/([0-9]+)\)/', '$1)', $links ); return $links; } //solarify_filter_add_span_to_arhcive_widget_count() endif; //categories add_filter( 'wp_list_categories', 'solarify_filter_add_span_to_arhcive_widget_count' ); //arhcive add_filter( 'get_archives_link', 'solarify_filter_add_span_to_arhcive_widget_count' ); if ( !function_exists( 'solarify_filter_monster_widget_text' ) ) : function solarify_filter_monster_widget_text( $text ) { $text = str_replace( 'name="monster-widget-just-testing"', 'name="monster-widget-just-testing" class="form-control"', $text ); return $text; } endif; add_filter( 'monster-widget-get-text', 'solarify_filter_monster_widget_text' ); /** * Extend the default WordPress post classes. * * Adds a post class to denote: * Non-password protected page with a post thumbnail. * * @param array $classes A list of existing post class values. * * @return array The filtered post class list. * @internal */ if ( !function_exists( 'solarify_filter_post_classes' ) ) : function solarify_filter_post_classes( $classes ) { if ( ! post_password_required() && ! is_attachment() && has_post_thumbnail() ) { $classes[] = 'has-post-thumbnail'; } return $classes; } //solarify_filter_post_classes() endif; add_filter( 'post_class', 'solarify_filter_post_classes' ); /** * Add bootstrap CSS classes to default password protected form. * * * @return string HTML code of password form * @internal */ if ( !function_exists( 'solarify_filter_password_form' ) ) : function solarify_filter_password_form( $html ) { $label = esc_html__( 'Password', 'solarify' ); $html = str_replace( 'input name="post_password"', 'input class="form-control" name="post_password" placeholder="' . $label . '"', $html ); $html = str_replace( 'input type="submit"', 'input class="theme_button inverse" type="submit"', $html ); return $html; } //solarify_filter_password_form() endif; add_filter( 'the_password_form', 'solarify_filter_password_form' ); /** * Add bootstrap CSS class to readmore blog feed anchor. * * * @return string HTML code of password form * @internal */ if ( !function_exists( 'solarify_filter_gallery_post_style_owl') ) : function solarify_filter_gallery_post_style_owl( $gallery_html ) { if ( $gallery_html && ! is_admin() ) { $gallery_html = str_replace( 'gallery ', 'isotope_container ', $gallery_html ); //if page is current } return $gallery_html; } //solarify_filter_gallery_post_style_owl() endif; add_filter( 'gallery_style', 'solarify_filter_gallery_post_style_owl' ); /** * Flush out the transients used in solarify_categorized_blog. * @internal */ if ( !function_exists( 'solarify_action_category_transient_flusher' ) ) : function solarify_action_category_transient_flusher() { delete_transient( 'solarify_category_count' ); } //solarify_action_category_transient_flusher() endif; add_action( 'edit_category', 'solarify_action_category_transient_flusher' ); add_action( 'save_post', 'solarify_action_category_transient_flusher' ); /** * Register widget areas. * @internal */ if ( !function_exists( 'solarify_action_widgets_init' ) ) : function solarify_action_widgets_init() { register_sidebar( array( 'name' => esc_html__( 'Main Widget Area', 'solarify' ), 'id' => 'sidebar-main', 'description' => esc_html__( 'Appears in the content section of the site.', 'solarify' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => esc_html__( 'Shop Widget Area', 'solarify' ), 'id' => 'sidebar-shop', 'description' => esc_html__( 'Appears on the shop page of the site.', 'solarify' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => esc_html__( 'Footer Widget Area', 'solarify' ), 'id' => 'sidebar-footer', 'description' => esc_html__( 'Appears in the footer section of the site.', 'solarify' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); } //solarify_action_widgets_init() endif; add_action( 'widgets_init', 'solarify_action_widgets_init' ); /** * Processing google fonts customizer options */ if ( ! function_exists( 'solarify_action_process_google_fonts' ) ) : function solarify_action_process_google_fonts() { $google_fonts = fw_get_google_fonts(); $include_from_google = array(); $font_body = fw_get_db_customizer_option( 'main_font' ); $font_headings = fw_get_db_customizer_option( 'h_font' ); // if is google font if ( isset( $google_fonts[ $font_body['family'] ] ) ) { $include_from_google[ $font_body['family'] ] = $google_fonts[ $font_body['family'] ]; } if ( isset( $google_fonts[ $font_headings['family'] ] ) ) { $include_from_google[ $font_headings['family'] ] = $google_fonts[ $font_headings['family'] ]; } $google_fonts_links = solarify_get_remote_fonts( $include_from_google ); // set a option in db for save google fonts link update_option( 'solarify_google_fonts_link', $google_fonts_links ); } //solarify_action_process_google_fonts() endif; add_action( 'customize_save_after', 'solarify_action_process_google_fonts', 999, 2 ); if ( ! function_exists( 'solarify_get_remote_fonts' ) ) : function solarify_get_remote_fonts( $include_from_google ) { /** * Get remote fonts * * @param array $include_from_google */ if ( ! sizeof( $include_from_google ) ) { return ''; } $html = "${0}
', $title ); } endif; add_filter('get_the_archive_title', 'solarify_filter_wrap_cat_title_before_colon_in_span'); //if Unyson installed - managing main slider and contact form scripts, sidebars if ( defined( 'FW' ) ): //display main slider if ( ! function_exists( 'solarify_action_slider' ) ): function solarify_action_slider() { if(is_search()) { return; } $slider_id = fw_get_db_post_option( get_the_ID(), 'slider_id', false ); if ( fw_ext( 'slider' ) ) { echo fw()->extensions->get( 'slider' )->render_slider( $slider_id, false ); } } add_action( 'solarify_slider', 'solarify_action_slider' ); endif; //display blog slider if ( ! function_exists( 'solarify_action_blog_slider' ) ): function solarify_action_blog_slider() { $blog_slider_options = function_exists( 'fw_get_db_customizer_option' ) ? fw_get_db_customizer_option( 'blog_slider_switch' ) : ''; $blog_slider_enabled = $blog_slider_options['yes']; if( $blog_slider_enabled ) { $slider_id= $blog_slider_enabled['slider_id']; if ( fw_ext( 'slider' ) ) { $slider_html = fw()->extensions->get( 'slider' )->render_slider( $slider_id, false ); if( !empty( $slider_html ) ) { ?>
extensions->get( 'slider' )->render_slider( $slider_id, false ); ?>
is_valid() ) { return; } wp_enqueue_script( 'solarify-show-form-errors', SOLARIFY_THEME_URI . '/js/form-errors.js', array( 'jquery' ), '1.0', true ); wp_localize_script( 'solarify-show-form-errors', '_localized_form_errors', array( 'errors' => $form->get_errors(), 'form_id' => $form->get_id() ) ); } endif; add_action( 'wp_enqueue_scripts', 'solarify_action_display_form_errors' ); //removing standard sliders from Unyson - we use our theme slider if ( !function_exists( 'solarify_filter_disable_sliders' ) ) : function solarify_filter_disable_sliders( $sliders ) { foreach ( array( 'owl-carousel', 'bx-slider', 'nivo-slider' ) as $name ) { $key = array_search( $name, $sliders ); unset( $sliders[ $key ] ); } return $sliders; } endif; add_filter( 'fw_ext_slider_activated', 'solarify_filter_disable_sliders' ); //removing standard fields from Unyson slider - we use our own slider fields if ( !function_exists( 'solarify_slider_population_method_custom_options' ) ) : function solarify_slider_population_method_custom_options( $arr ) { /** * Filter for disable standard slider fields for carousel slider * * @param array $arr */ unset( $arr['wrapper-population-method-custom']['options']['custom-slides']['slides_options']['title'], $arr['wrapper-population-method-custom']['options']['custom-slides']['slides_options']['desc'] ); return $arr; } endif; add_filter( 'fw_ext_theme_slider_population_method_custom_options', 'solarify_slider_population_method_custom_options' ); //adding custom sidebar for shop page if WooCommerce active if ( class_exists( 'WooCommerce' ) ) : if ( !function_exists( 'solarify_filter_fw_ext_sidebars_add_conditional_tag' ) ) : function solarify_filter_fw_ext_sidebars_add_conditional_tag($conditional_tags) { $conditional_tags['is_archive_page_slug'] = array( 'order_option' => 2, // (optional: default is 1) position in the 'Others' lists in backend 'check_priority' => 'last', // (optional: default is last, can be changed to 'first') use it to change priority checking conditional tag 'name' => esc_html__('Products Type - Shop', 'solarify'), // conditional tag title 'conditional_tag' => array( 'callback' => 'is_shop', // existing callback 'params' => array('products') //parameters for callback ) ); return $conditional_tags; } endif; add_filter('fw_ext_sidebars_conditional_tags', 'solarify_filter_fw_ext_sidebars_add_conditional_tag' ); remove_theme_support( 'wc-product-gallery-zoom' ); remove_theme_support( 'wc-product-gallery-lightbox' ); remove_theme_support( 'wc-product-gallery-slider' ); endif; //WooCommerce //theme icon fonts if ( ! function_exists( 'solarify_filter_custom_packs_list' ) ) : function solarify_filter_custom_packs_list($current_packs) { /** * $current_packs is an array of pack names. * You should return which one you would like to show in the picker. */ return array('social_icons', 'solarify_icons', 'font-awesome'); } endif; add_filter('fw:option_type:icon-v2:filter_packs', 'solarify_filter_custom_packs_list'); if ( ! function_exists( 'solarify_filter_add_my_icon_pack' ) ) : function solarify_filter_add_my_icon_pack($default_packs) { /** * No fear. Defaults packs will be merged in back. You can't remove them. * Changing some flags for them is allowed. */ return array( 'solarify_icons' => array( 'name' => 'solarify_icons', // same as key 'title' => 'Solarify Icons', 'css_class_prefix' => 'rt-icon2', 'css_file' => SOLARIFY_THEME_PATH . '/css/fonts.css', 'css_file_uri' => SOLARIFY_THEME_URI . '/css/fonts.css', ), 'social_icons' => array( 'name' => 'social_icons', // same as key 'title' => 'Social Icons', 'css_class_prefix' => 'socicon', 'css_file' => SOLARIFY_THEME_PATH . '/css/fonts.css', 'css_file_uri' => SOLARIFY_THEME_URI . '/css/fonts.css', ) ); } endif; add_filter('fw:option_type:icon-v2:packs', 'solarify_filter_add_my_icon_pack'); if ( ! function_exists( 'solarify_breadcrumbs_blank_search_query_fix' ) ) : /** * Breadcrumbs modifications */ function solarify_breadcrumbs_blank_search_query_fix( $items ) { if ( is_search() ) { if ( trim ( get_search_query() ) == false ) { $items[ sizeof( $items ) - 1 ]['name'] = esc_html__( 'Search', 'solarify' ); } } return $items; } endif; add_filter( 'fw_ext_breadcrumbs_build', 'solarify_breadcrumbs_blank_search_query_fix' ); //enable tags for events if ( ! function_exists( 'solarify_add_tags_for_events_unyson_extension' ) ) : function solarify_add_tags_for_events_unyson_extension() { return true; } endif; add_filter('fw:ext:events:enable-tags', 'solarify_add_tags_for_events_unyson_extension'); endif; //defined('FW') //adding custom styles to TinyMCE // Callback function to insert 'styleselect' into the $buttons array if ( ! function_exists( 'solarify_filter_mce_theme_format_insert_button' ) ) : function solarify_filter_mce_theme_format_insert_button( $buttons ) { array_unshift( $buttons, 'styleselect' ); return $buttons; } //solarify_filter_mce_theme_format_insert_button() endif; // Register our callback to the appropriate filter add_filter( 'mce_buttons_2', 'solarify_filter_mce_theme_format_insert_button' ); // Callback function to filter the MCE settings if ( ! function_exists( 'solarify_filter_mce_theme_format_add_styles' ) ) : function solarify_filter_mce_theme_format_add_styles( $init_array ) { // Define the style_formats array $style_formats = array( // Each array child is a format with it's own settings array( 'title' => esc_html__( 'Excerpt', 'solarify' ), 'block' => 'p', 'classes' => 'entry-excerpt', 'wrapper' => false, ), array( 'title' => esc_html__( 'Paragraph with dropcap', 'solarify' ), 'block' => 'p', 'classes' => 'big-first-letter', 'wrapper' => false, ), array( 'title' => esc_html__( 'Main theme color', 'solarify' ), 'inline' => 'span', 'classes' => 'highlight', 'wrapper' => false, ), ); // Insert the array, JSON ENCODED, into 'style_formats' $init_array['style_formats'] = json_encode( $style_formats ); return $init_array; } //solarify_filter_mce_theme_format_add_styles() endif; // Attach callback to 'tiny_mce_before_init' add_filter( 'tiny_mce_before_init', 'solarify_filter_mce_theme_format_add_styles', 1 ); //demo content on remote hosting /** * @param FW_Ext_Backups_Demo[] $demos * * @return FW_Ext_Backups_Demo[] */ if ( ! function_exists( 'solarify_filter_theme_fw_ext_backups_demos' ) ) : function solarify_filter_theme_fw_ext_backups_demos( $demos ) { $demo_version_suffix = '-v' . SOLARIFY_REMOTE_DEMO_VERSION; // '-v1.0.0' $demos_array = array ( 'solarify-demo' . $demo_version_suffix => array ( 'title' => esc_html__( 'Solarify Demo', 'solarify' ), 'screenshot' => esc_url('http://webdesign-finder.com/remote-demo-content/solarify/demo/screenshot.png'), 'preview_link' => false, ), ); // You may request this demo id from this theme author to get a colorized demo content. See the author contacts information. $secret_demo_id = SOLARIFY_REMOTE_DEMO_ID; if ( $secret_demo_id ) { $demos_array['solarify-demo-colorized-' . $secret_demo_id . $demo_version_suffix] = array( 'title' => esc_html__('Solarify Demo Colorized', 'solarify'), 'screenshot' => esc_url('http://webdesign-finder.com/remote-demo-content/solarify/demo-colorized/screenshot.png'), 'preview_link' => false, ); } // remote demo URL $download_url = esc_url('http://webdesign-finder.com/remote-demo-content/solarify'); foreach ( $demos_array as $id => $data ) { $demo = new FW_Ext_Backups_Demo( $id, 'piecemeal', array ( 'url' => $download_url, 'file_id' => $id, ) ); $demo->set_title( $data[ 'title' ] ); $demo->set_screenshot( $data[ 'screenshot' ] ); $demo->set_preview_link( $data[ 'preview_link' ] ); $demos[ $demo->get_id() ] = $demo; unset( $demo ); } return $demos; } //solarify_filter_theme_fw_ext_backups_demos() endif; add_filter( 'fw:ext:backups-demo:demos', 'solarify_filter_theme_fw_ext_backups_demos' ); ////////// //Booked// ////////// //Remove Booked plugin front-end color theme (color-theme.php) if( class_exists('booked_plugin')) { remove_action( 'wp_enqueue_scripts', array('booked_plugin', 'front_end_color_theme')); }//Booked //renaming projects to gallery if ( ! function_exists( 'solarify_projects_change_post_names' ) ): function solarify_projects_change_post_names() { return array( 'singular' => esc_html__( 'Project', 'solarify' ), 'plural' => esc_html__( 'Gallery', 'solarify' ) ); } endif; add_action( 'fw_ext_projects_post_type_name', 'solarify_projects_change_post_names' ); //add comments support to gallery add_post_type_support( 'fw-portfolio', 'comments' );