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 http://codex.wordpress.org/Function_Reference/add_theme_support#Post_Thumbnails */ add_theme_support( 'post-thumbnails' ); set_post_thumbnail_size( 604, 270); add_image_size( 'nisarg-full-width', 1038, 576, true ); function register_nisarg_menus() { // This theme uses wp_nav_menu() in one location. register_nav_menus( array( 'primary' => esc_html__( 'Top Primary Menu', 'nisarg' ), ) ); } add_action( 'init', 'register_nisarg_menus' ); /* * 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( 'aside', 'image', 'video', 'quote', 'link', 'gallery' ) ); // Set up the WordPress core custom background feature. add_theme_support( 'custom-background', apply_filters( 'nisarg_custom_background_args', array( 'default-color' => 'f5f5f5', 'default-image' => '', ) ) ); } endif; // nisarg_setup add_action( 'after_setup_theme', 'nisarg_setup' ); /** * Sets 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 nisarg_content_width() { $GLOBALS['content_width'] = apply_filters( 'nisarg_content_width', 640 ); } add_action( 'after_setup_theme', 'nisarg_content_width', 0 ); /** * Register widget area. * * @link http://codex.wordpress.org/Function_Reference/register_sidebar */ function nisarg_widgets_init() { register_sidebar( array( 'name' => esc_html__( 'Sidebar', 'nisarg' ), 'id' => 'sidebar-1', 'description' => '', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); } add_action( 'widgets_init', 'nisarg_widgets_init' ); /** * Enqueue scripts and styles. */ function nisarg_scripts ( $in_footer ) { wp_enqueue_style( 'nisarg-style', get_stylesheet_uri() ); wp_enqueue_style( 'font-awesome', get_template_directory_uri().'/font-awesome/css/font-awesome.min.css',true ); wp_enqueue_script( 'bootstrap', get_template_directory_uri() . '/js/bootstrap.js',array('jquery'),'',true); wp_enqueue_script( 'nisarg-skip-link-focus-fix', get_template_directory_uri() . '/js/skip-link-focus-fix.js', array('jquery'), '20130115', true ); wp_enqueue_script( 'nisarg-js', get_template_directory_uri() . '/js/nisarg.js',array('jquery'),'',true); wp_enqueue_script( 'lighthouse-js', get_template_directory_uri() . '/js/lighthouse.js',array('jquery'),'',true); wp_enqueue_script( 'html5shiv', get_template_directory_uri().'/js/html5shiv.js', array(),'3.7.3',false ); wp_script_add_data( 'html5shiv', 'conditional', 'lt IE 9' ); if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } } add_action( 'wp_enqueue_scripts', 'nisarg_scripts' ); /** * Lighthouse move scripts to footer */ function remove_head_scripts() { remove_action('wp_head', 'wp_print_scripts'); remove_action('wp_head', 'wp_print_head_scripts', 9); remove_action('wp_head', 'wp_enqueue_scripts', 1); remove_action('wp_head', 'wp_enqueue_style'); add_action('wp_footer', 'wp_print_scripts', 5); add_action('wp_footer', 'wp_enqueue_scripts', 5); add_action('wp_footer', 'wp_print_head_scripts', 5); add_action('wp_footer', 'wp_enqueue_style', 5); } add_action( 'wp_enqueue_scripts', 'remove_head_scripts' ); /** * Implement the Custom Header feature. */ require get_template_directory() . '/inc/custom-header.php'; /** * Custom template tags for this theme. */ require get_template_directory() . '/inc/template-tags.php'; /** * Custom functions that act independently of the theme templates. */ require get_template_directory() . '/inc/extras.php'; /** * Customizer additions. */ require get_template_directory() . '/inc/customizer.php'; /** * Load Jetpack compatibility file. */ require get_template_directory() . '/inc/jetpack.php'; /** * Load custom nav walker */ require get_template_directory() . '/inc/navwalker.php'; /** * Coming soon with full SEO guide and much more! */ //require get_template_directory() . '/inc/custom-page.php'; function nisarg_google_fonts() { $query_args = array( 'family' => 'Lato:400,300italic,700,700i|Source+Sans+Pro:400,400italic' ); wp_register_style( 'nisarggooglefonts', add_query_arg( $query_args, "//fonts.googleapis.com/css" ), array(), null ); wp_enqueue_style( 'nisarggooglefonts'); } add_action('wp_enqueue_scripts', 'nisarg_google_fonts'); function nisarg_new_excerpt_more( $more ) { return '...

' . __(' Read More', 'nisarg') . ' '. __(' Read More', 'nisarg').'

'; } add_filter( 'excerpt_more', 'nisarg_new_excerpt_more' ); function custom_excerpt_length( $length ) { return 80; } add_filter( 'excerpt_length', 'custom_excerpt_length', 999 ); /** * Return the post URL. * * @uses get_url_in_content() to get the URL in the post meta (if it exists) or * the first link found in the post content. * * Falls back to the post permalink if no URL is found in the post. * * * @return string The Link format URL. */ function nisarg_get_link_url() { $nisarg_content = get_the_content(); $nisarg_has_url = get_url_in_content( $nisarg_content ); return ( $nisarg_has_url ) ? $nisarg_has_url : apply_filters( 'the_permalink', get_permalink() ); } /*TGA activation*/ require_once locate_template('/lib/class-tgm-plugin-activation.php'); /** * This file represents an example of the code that themes would use to register * the required plugins. * * It is expected that theme authors would copy and paste this code into their * functions.php file, and amend to suit. * * @see http://tgmpluginactivation.com/configuration/ for detailed documentation. * * @package TGM-Plugin-Activation * @subpackage Example * @version 2.6.1 for parent theme Free Seo Optimized Responsive Theme for publication on WordPress.org * @author Thomas Griffin, Gary Jones, Juliette Reinders Folmer * @copyright Copyright (c) 2011, Thomas Griffin * @license http://opensource.org/licenses/gpl-2.0.php GPL v2 or later * @link https://github.com/TGMPA/TGM-Plugin-Activation */ /** * Include the TGM_Plugin_Activation class. * * Depending on your implementation, you may want to change the include call: * * Parent Theme: * require_once get_template_directory() . '/path/to/class-tgm-plugin-activation.php'; * * Child Theme: * require_once get_stylesheet_directory() . '/path/to/class-tgm-plugin-activation.php'; * * Plugin: * require_once dirname( __FILE__ ) . '/path/to/class-tgm-plugin-activation.php'; */ require_once get_template_directory() . '/lib/class-tgm-plugin-activation.php'; add_action( 'tgmpa_register', 'nisarg_register_required_plugins' ); function nisarg_register_required_plugins() { /* * Array of plugin arrays. Required keys are name and slug. * If the source is NOT from the .org repo, then source is also required. */ $plugins = array( // This is an example of how to include a plugin from the WordPress Plugin Repository. array( 'name' => 'Autoptimize', 'slug' => 'autoptimize', 'required' => false, ), array( 'name' => 'WP Super Cache', 'slug' => 'wp-super-cache', 'required' => false, ), array( 'name' => 'WordPress SEO by Yoast', 'slug' => 'wordpress-seo', 'is_callable' => 'wpseo_init', ), ); $config = array( 'id' => 'nisarg', // Unique ID for hashing notices for multiple instances of TGMPA. 'default_path' => '', // Default absolute path to bundled plugins. 'menu' => 'tgmpa-install-plugins', // Menu slug. 'has_notices' => true, // Show admin notices or not. 'dismissable' => true, // If false, a user cannot dismiss the nag message. 'dismiss_msg' => '', // If 'dismissable' is false, this message will be output at top of nag. 'is_automatic' => false, // Automatically activate plugins after installation or not. 'message' => '', // Message to output right before the plugins table. ); tgmpa( $plugins, $config ); } /** * * Custom Logo in the top menu * **/ function mytheme_setup() { add_theme_support('custom-logo'); add_image_size('mytheme-logo', 50, 250); add_theme_support('custom-logo', array( 'size' => 'mytheme-logo', 'width' => 250, 'url' => '%s/images/headers/food.png', 'height' => 50, 'flex-height' => true, )); } add_action('after_setup_theme', 'mytheme_setup'); /** * * New Footer Widgets * **/ function footer_widget_left_init() { register_sidebar( array( 'name' => 'Footer Widget left', 'id' => 'footer_widget_left', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); } add_action( 'widgets_init', 'footer_widget_left_init' ); function footer_widget_middle_init() { register_sidebar( array( 'name' => 'Footer Widget middle', 'id' => 'footer_widget_middle', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); } add_action( 'widgets_init', 'footer_widget_middle_init' ); function footer_widget_right_init() { register_sidebar( array( 'name' => 'Footer Widget right', 'id' => 'footer_widget_right', 'before_widget' => '', 'before_title' => '

', 'after_title' => '

', ) ); } add_action( 'widgets_init', 'footer_widget_right_init' );