PHP Classes

File: functions.php

Recommend this page to a friend!
  Classes of Adeleye Ayodeji   Nolimitbuzz WP Theme   functions.php   Download  
File: functions.php
Role: Auxiliary script
Content type: text/plain
Description: Configuration script
Class: Nolimitbuzz WP Theme
WordPress theme to used as start of new themes
Author: By
Last change:
Date: 19 days ago
Size: 5,075 bytes
 

Contents

Class file image Download
<?php

/**
 * Nolimitbuzz functions and definitions
 *
 * @link https://developer.wordpress.org/themes/basics/theme-functions/
 *
 * @package Nolimitbuzz
 */

if (! defined('_S_VERSION')) {
   
// Replace the version number of the theme on each release.
   
define('_S_VERSION', time());
}

//define constants
define('THEME_DIR', get_template_directory());
define('THEME_URI', get_template_directory_uri());
define('THEME_ASSETS_URI', THEME_URI . '/assets');
define('THEME_ASSETS_DIR', THEME_DIR . '/assets');

/**
 * Sets up theme defaults and registers support for various WordPress features.
 *
 * Note that this function is hooked into the after_setup_theme hook, which
 * runs before the init hook. The init hook is too late for some features, such
 * as indicating support for post thumbnails.
 */
function nolimitbuzz_setup()
{
   
/*
        * Make theme available for translation.
        * Translations can be filed in the /languages/ directory.
        * If you're building a theme based on Nolimitbuzz, use a find and replace
        * to change 'nolimitbuzz' to the name of your theme in all the template files.
        */
   
load_theme_textdomain('nolimitbuzz', get_template_directory() . '/languages');

   
// Add default posts and comments RSS feed links to head.
   
add_theme_support('automatic-feed-links');

   
/*
        * Let WordPress manage the document title.
        * By adding theme support, we declare that this theme does not use a
        * hard-coded <title> 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 https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/
        */
   
add_theme_support('post-thumbnails');

   
// This theme uses wp_nav_menu() in one location.
   
register_nav_menus(
        array(
           
'menu-1' => esc_html__('Primary', 'nolimitbuzz'),
        )
    );

   
/*
        * 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',
           
'style',
           
'script',
        )
    );

   
// Set up the WordPress core custom background feature.
   
add_theme_support(
       
'custom-background',
       
apply_filters(
           
'nolimitbuzz_custom_background_args',
            array(
               
'default-color' => 'ffffff',
               
'default-image' => '',
            )
        )
    );

   
// Add theme support for selective refresh for widgets.
   
add_theme_support('customize-selective-refresh-widgets');

   
/**
     * Add support for core custom logo.
     *
     * @link https://codex.wordpress.org/Theme_Logo
     */
   
add_theme_support(
       
'custom-logo',
        array(
           
'height' => 250,
           
'width' => 250,
           
'flex-width' => true,
           
'flex-height' => true,
        )
    );
}
add_action('after_setup_theme', 'nolimitbuzz_setup');

/**
 * Set 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 nolimitbuzz_content_width()
{
   
$GLOBALS['content_width'] = apply_filters('nolimitbuzz_content_width', 640);
}
add_action('after_setup_theme', 'nolimitbuzz_content_width', 0);

/**
 * Register widget area.
 *
 * @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar
 */
function nolimitbuzz_widgets_init()
{
   
register_sidebar(
        array(
           
'name' => esc_html__('Sidebar', 'nolimitbuzz'),
           
'id' => 'sidebar-1',
           
'description' => esc_html__('Add widgets here.', 'nolimitbuzz'),
           
'before_widget' => '<section id="%1$s" class="widget %2$s">',
           
'after_widget' => '</section>',
           
'before_title' => '<h2 class="widget-title">',
           
'after_title' => '</h2>',
        )
    );
}
add_action('widgets_init', 'nolimitbuzz_widgets_init');

/**
 * Enqueue scripts and styles.
 */
function nolimitbuzz_scripts()
{
   
wp_enqueue_style('nolimitbuzz-style', get_stylesheet_uri(), array(), _S_VERSION);
   
wp_style_add_data('nolimitbuzz-style', 'rtl', 'replace');

   
wp_enqueue_script('nolimitbuzz-navigation', get_template_directory_uri() . '/js/navigation.js', array(), _S_VERSION, true);
   
//enqueue custom script for pagination
   
wp_enqueue_script('nolimitbuzz-custom', get_template_directory_uri() . '/js/custom.js', array(), _S_VERSION, true);

    if (
is_singular() && comments_open() && get_option('thread_comments')) {
       
wp_enqueue_script('comment-reply');
    }
}
add_action('wp_enqueue_scripts', 'nolimitbuzz_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';

/**
 * Functions which enhance the theme by hooking into WordPress.
 */
require get_template_directory() . '/inc/template-functions.php';

/**
 * Customizer additions.
 */
require get_template_directory() . '/inc/customizer.php';

/**
 * Load Jetpack compatibility file.
 */
if (defined('JETPACK__VERSION')) {
    require
get_template_directory() . '/inc/jetpack.php';
}