chemiker/e.nigma-2015

View on GitHub
src/theme/functions.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php
require 'functions/content.php';
require 'functions/helper.php';
require 'functions/widgets.php';
require 'functions/customizer.php';

add_action( 'after_setup_theme', function () {
    // Add support for Post formats
    add_theme_support( 'post-formats', array( 'aside', 'link', 'video', 'audio', 'image', 'quote', 'gallery', 'chat', 'status' ) );

    // Auto-discovery feed in header
    add_theme_support('automatic-feed-links');

    // Article image support. http://codex.wordpress.org/Post_Thumbnails
    add_theme_support('post-thumbnails');

    // Support Title-tag
    add_theme_support( 'title-tag' );

    // Support Custom header and custom background image
    add_theme_support( 'custom-header', array(
        'default-text-color' => 'AAA',
        'height' => 125
    ) );
    add_theme_support( 'custom-background', array(
        'default-color' => '494949',
    )  );

    // Add support for HTML5 elements
    add_theme_support( 'html5', array( 'comment-form', 'search-form', 'gallery', 'caption' ) );

    // Textdomain
    load_theme_textdomain('enigma-2015', '/' . dirname( plugin_basename( __FILE__ ) ) . '/languages');

    // Register Menu location(s)
    register_nav_menus( array(
        'main_menu' => __( 'Main Menu', 'e.nigma-2015' )
    ) );
});

// Add editor style
add_action( 'admin_init', function () {
    add_editor_style( 'css/editor-style.min.css' );
});

// Set maximum article width to 677px
if ( ! isset( $content_width ) )
    $content_width = 584;

// Add actions for customizer
add_action('customize_register', '\enigma\Customizer::register');

// Register Widget area(s)
add_action( 'widgets_init', '\enigma\Widgets::widgets_init' );

// Register comment-reply
add_action( 'comment_form_before', function () {
    wp_enqueue_script( 'comment-reply' );
});

// Add a wrapper for the "Read more" link
add_action( 'the_content_more_link', function ($link) {
    return "<div class='center'>" . $link . "</div>";
}, 10, 2 );

// Add page class to Post pages
add_filter('wp_link_pages_link', function ($link) {
    if ( strrpos($link, 'href') )
        return str_replace("href", "class='page' href", $link);

    return "<a href='". isset($_SERVER["HTTP_HOST"]) . isset($_SERVER["REQUEST_URI"]) ."' class=\"active page\">" . $link . "</a>";
});

// Fix invalid Video containers
add_filter('oembed_dataparse', function ( $return, $data, $url ) {
    return str_replace(' frameborder="0"', '', $return);
}, 90, 3 );

// Add next and number option to wp_link_pages()
add_filter('wp_link_pages_args','\enigma\Helper::add_next_and_number');

// Register Scripts
function enigma_2015_scripts_init() {
    wp_enqueue_script( 'bootstrap', get_template_directory_uri() . '/js/bootstrap.min.js', array( 'jquery' ) );
    wp_enqueue_script( 'jquery-scrollupformenu', get_template_directory_uri() . '/js/jquery.scrollupformenu.min.js', array( 'jquery' ) );
    wp_enqueue_script( 'jquery-enigma', get_template_directory_uri() . '/js/jquery.enigma.min.js', array( 'jquery' ) );
}
add_action( 'wp_enqueue_scripts', 'enigma_2015_scripts_init' );

// register Styles
function enigma_2015_styles_init() {
    wp_enqueue_style( 'style', get_template_directory_uri() . '/css/screen.min.css', array( 'dashicons' ), false, 'screen' );
    wp_enqueue_style( 'style-print', get_template_directory_uri() . '/css/print.min.css', array( 'dashicons' ), false, 'print' );
    wp_enqueue_style( 'google-fonts', '//fonts.googleapis.com/css?family=Raleway:100%7CRoboto+Slab:400,700%7COpen+Sans:400italic,400,700' );
}
add_action( 'wp_enqueue_scripts', 'enigma_2015_styles_init' );