'#cccccc', 'default-image' => get_template_directory_uri() . '/img/banner-new.png', 'wp-head-callback' => '_custom_background_cb', 'admin-head-callback' => '', 'admin-preview-callback' => '', ); add_theme_support( 'custom-background', $background_args ); // Add theme support for Custom Header $header_args = array( 'default-image' => '', 'random-default' => false, 'width' => '', 'height' => '', 'flex-height' => true, 'flex-width' => true, 'default-text-color' => '', 'header-text' => true, 'uploads' => true, 'wp-head-callback' => '', 'admin-head-callback' => '', 'admin-preview-callback' => '' ); add_theme_support( 'custom-header', $header_args ); // Register nav menu locations register_nav_menus( array( 'header' => 'Header Menu', 'footer' => 'Footer Menu' ) ); // post thumbnail support add_theme_support( "post-thumbnails" ); add_theme_support( "title-tag" ); add_theme_support( "automatic-feed-links" ); } // Hook into the 'after_setup_theme' action add_action( 'after_setup_theme', 'vssgroup_theme_features' ); add_action( 'widgets_init', 'vssgroup_theme_widgets_init' ); function vssgroup_theme_widgets_init() { register_sidebar( array( 'name' => __( 'Sidebar', 'sidebar' ), 'id' => 'sidebar-1', 'description' => __( 'Widgets in this area will be shown on all posts and pages.', 'vssgroup_theme' ), 'before_widget' => '
  • ', 'after_widget' => '
  • ', 'before_title' => '

    ', 'after_title' => '

    ', ) ); } // pagination code require_once('functions/vss-pagination.php'); // Register and load the widget require_once('widgets/vss-recent-project.php'); // Customizer Setting Page require_once('functions/customizer.php'); function vssgroup_wpb_load_widget() { register_widget( 'vssgroup_wpb_widget' ); } add_action( 'widgets_init', 'vssgroup_wpb_load_widget' ); // Content width code if ( ! isset( $content_width ) ) { $content_width = 900; } // jquery enqueue function vssgroup_wp_enqueue_scripts() { wp_enqueue_script('vssgroup-bootstrap-min', get_template_directory_uri() . "/js/bootstrap.min.js", array('jquery'), '', false); wp_enqueue_script('vssgroup-bxslider', get_template_directory_uri() . "/js/jquery.bxslider.js", array('jquery'), '', false); wp_enqueue_script('vssgroup-carousel', get_template_directory_uri() . "/js/owl.carousel.js", array('jquery'), '', false); wp_enqueue_script('vssgroup-carousel-min', get_template_directory_uri() . "/js/owl.carousel.min.js", array('jquery'), '', false); wp_enqueue_script('vssgroup-script', get_template_directory_uri() . "/js/script.js", array('jquery'), '', false); wp_enqueue_script('vssgroup-theme', get_template_directory_uri() . "/js/vssgroup-theme.js", array('jquery'), '', false); wp_enqueue_script('vssgroup-animation', get_template_directory_uri() . "/js/vssgroup-animation-code.js", array('jquery'), '', false); wp_enqueue_script( 'comment-reply' ); } add_action('wp_enqueue_scripts', 'vssgroup_wp_enqueue_scripts'); // css enqueue function vssgroup_wp_enqueue_style() { wp_enqueue_style( 'vssgroup-style', get_template_directory_uri() .'/css/style.css', false, '1.0.0' ); wp_enqueue_style( 'vssgroup-bootstrap', get_template_directory_uri() .'/css/bootstrap.min.css', false, '1.0.0' ); wp_enqueue_style( 'vssgroup-bootstrap-theme', get_template_directory_uri() .'/css/bootstrap-theme.min.css', false, '1.0.0' ); wp_enqueue_style( 'vssgroup-bxslider', get_template_directory_uri() .'/css/jquery.bxslider.css', false, '1.0.0' ); wp_enqueue_style( 'vssgroup-carousel', get_template_directory_uri() .'/css/owl.carousel.css', false, '1.0.0' ); wp_enqueue_style( 'vssgroup-theme', get_template_directory_uri() .'/css/owl.theme.default.min.css', false, '1.0.0' ); wp_enqueue_style( 'vssgroup-googlefont', 'https://fonts.googleapis.com/css?family=EB+Garamond', false, '1.0.0' ); wp_enqueue_style( 'vssgroup-animate', get_template_directory_uri() .'/css/vssgroup-animate.css', false, '1.0.0' ); } add_action('wp_enqueue_scripts', 'vssgroup_wp_enqueue_style'); require_once dirname( __FILE__ ) . '/class-tgm-plugin-activation.php'; add_action( 'tgmpa_register', 'vssgroup_theme_register_required_plugins' ); /** * Register the required plugins for this theme. * * In this example, we register two plugins - one included with the TGMPA library * and one from the .org repo. * * The variable passed to tgmpa_register_plugins() should be an array of plugin * arrays. * * This function is hooked into tgmpa_init, which is fired within the * TGM_Plugin_Activation class constructor. */ function vssgroup_theme_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( array( 'name' => 'Custom Post Type UI', 'slug' => 'custom-post-type-ui', 'required' => false, ) , array( 'name' => 'Meta Slider', 'slug' => 'ml-slider', 'required' => false, ) , array( 'name' => 'Easy Logo Slider', 'slug' => 'easy-logo-slider', 'required' => false, ), array( 'name' => 'Contact Form 7', 'slug' => 'contact-form-7', 'required' => false, ) ); /** * Array of configuration settings. Amend each line as needed. * If you want the default strings to be available under your own theme domain, * leave the strings uncommented. * Some of the strings are added into a sprintf, so see the comments at the * end of each line for what each argument will be. */ $config = array( 'default_path' => '', // Default absolute path to pre-packaged 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. 'strings' => array( 'page_title' => __( 'Install Required Plugins', 'tgmpa' ), 'menu_title' => __( 'Install Plugins', 'tgmpa' ), 'installing' => __( 'Installing Plugin: %s', 'tgmpa' ), // %s = plugin name. 'oops' => __( 'Something went wrong with the plugin API.', 'tgmpa' ), 'notice_can_install_required' => _n_noop( 'This theme requires the following plugin: %1$s.', 'This theme requires the following plugins: %1$s.' ), // %1$s = plugin name(s). 'notice_can_install_recommended' => _n_noop( 'This theme recommends the following plugin: %1$s.', 'This theme recommends the following plugins: %1$s.' ), // %1$s = plugin name(s). 'notice_cannot_install' => _n_noop( 'Sorry, but you do not have the correct permissions to install the %s plugin. Contact the administrator of this site for help on getting the plugin installed.', 'Sorry, but you do not have the correct permissions to install the %s plugins. Contact the administrator of this site for help on getting the plugins installed.' ), // %1$s = plugin name(s). 'notice_can_activate_required' => _n_noop( 'The following required plugin is currently inactive: %1$s.', 'The following required plugins are currently inactive: %1$s.' ), // %1$s = plugin name(s). 'notice_can_activate_recommended' => _n_noop( 'The following recommended plugin is currently inactive: %1$s.', 'The following recommended plugins are currently inactive: %1$s.' ), // %1$s = plugin name(s). 'notice_cannot_activate' => _n_noop( 'Sorry, but you do not have the correct permissions to activate the %s plugin. Contact the administrator of this site for help on getting the plugin activated.', 'Sorry, but you do not have the correct permissions to activate the %s plugins. Contact the administrator of this site for help on getting the plugins activated.' ), // %1$s = plugin name(s). 'notice_ask_to_update' => _n_noop( 'The following plugin needs to be updated to its latest version to ensure maximum compatibility with this theme: %1$s.', 'The following plugins need to be updated to their latest version to ensure maximum compatibility with this theme: %1$s.' ), // %1$s = plugin name(s). 'notice_cannot_update' => _n_noop( 'Sorry, but you do not have the correct permissions to update the %s plugin. Contact the administrator of this site for help on getting the plugin updated.', 'Sorry, but you do not have the correct permissions to update the %s plugins. Contact the administrator of this site for help on getting the plugins updated.' ), // %1$s = plugin name(s). 'install_link' => _n_noop( 'Begin installing plugin', 'Begin installing plugins' ), 'activate_link' => _n_noop( 'Begin activating plugin', 'Begin activating plugins' ), 'return' => __( 'Return to Required Plugins Installer', 'tgmpa' ), 'plugin_activated' => __( 'Plugin activated successfully.', 'tgmpa' ), 'complete' => __( 'All plugins installed and activated successfully. %s', 'tgmpa' ), // %s = dashboard link. 'nag_type' => 'updated' // Determines admin notice type - can only be 'updated', 'update-nag' or 'error'. ) ); tgmpa( $plugins, $config ); } // Run this code on 'after_theme_setup', when plugins have already been loaded. //add_action('after_setup_theme', 'my_load_plugin'); // This function loads the plugin. //function my_load_plugin() { // Check to see if your plugin has already been loaded. This can be done in several // ways - here are a few examples: // // Check for a class: // if (!class_exists('MyPluginClass')) { // // Check for a function: // if (!function_exists('my_plugin_function_name')) { // // Check for a constant: // if (!defined('MY_PLUGIN_CONSTANT')) { /* if (!class_exists('Portfolio Post')) { // load Social if not already loaded include_once(TEMPLATEPATH.'/plugins/vss-portfolio.php'); } if (!class_exists('Client Post')) { // load Social if not already loaded include_once(TEMPLATEPATH.'/plugins/vss-client.php'); } } */ function vssgroup_custom_excerpt_length( $length ) { return 25; } add_filter( 'excerpt_length', 'vssgroup_custom_excerpt_length', 999 ); add_filter( "the_excerpt", "vssgroup_add_class_to_excerpt" ); function vssgroup_add_class_to_excerpt( $excerpt ) { return str_replace('