211 lines
7.4 KiB
PHP
Executable file
211 lines
7.4 KiB
PHP
Executable file
<?php
|
|
/**
|
|
* Blank Canvas functions and definitions
|
|
*
|
|
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
|
|
*
|
|
* @package WordPress
|
|
* @subpackage Blank Canvas
|
|
* @since 1.0
|
|
*/
|
|
|
|
if ( ! function_exists( 'blank_canvas_setup' ) ) :
|
|
/**
|
|
* 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 blank_canvas_setup() {
|
|
|
|
// Add support for editor styles.
|
|
add_theme_support( 'editor-styles' );
|
|
|
|
// Enqueue editor styles.
|
|
add_editor_style( 'variables.css' );
|
|
|
|
// Editor color palette.
|
|
$colors_theme_mod = get_theme_mod( 'custom_colors_active' );
|
|
$primary = ( ! empty( $colors_theme_mod ) && 'default' === $colors_theme_mod || empty( get_theme_mod( 'seedlet_--global--color-primary' ) ) ) ? '#000000' : get_theme_mod( 'seedlet_--global--color-primary' );
|
|
$secondary = ( ! empty( $colors_theme_mod ) && 'default' === $colors_theme_mod || empty( get_theme_mod( 'seedlet_--global--color-secondary' ) ) ) ? '#007cba' : get_theme_mod( 'seedlet_--global--color-secondary' );
|
|
$foreground = ( ! empty( $colors_theme_mod ) && 'default' === $colors_theme_mod || empty( get_theme_mod( 'seedlet_--global--color-foreground' ) ) ) ? '#333333' : get_theme_mod( 'seedlet_--global--color-foreground' );
|
|
$tertiary = ( ! empty( $colors_theme_mod ) && 'default' === $colors_theme_mod || empty( get_theme_mod( 'seedlet_--global--color-tertiary' ) ) ) ? '#FAFAFA' : get_theme_mod( 'seedlet_--global--color-tertiary' );
|
|
$background = ( ! empty( $colors_theme_mod ) && 'default' === $colors_theme_mod || empty( get_theme_mod( 'seedlet_--global--color-background' ) ) ) ? '#FFFFFF' : get_theme_mod( 'seedlet_--global--color-background' );
|
|
|
|
add_theme_support(
|
|
'editor-color-palette',
|
|
array(
|
|
array(
|
|
'name' => __( 'Primary', 'blank-canvas' ),
|
|
'slug' => 'primary',
|
|
'color' => $primary,
|
|
),
|
|
array(
|
|
'name' => __( 'Secondary', 'blank-canvas' ),
|
|
'slug' => 'secondary',
|
|
'color' => $secondary,
|
|
),
|
|
array(
|
|
'name' => __( 'Foreground', 'blank-canvas' ),
|
|
'slug' => 'foreground',
|
|
'color' => $foreground,
|
|
),
|
|
array(
|
|
'name' => __( 'Tertiary', 'blank-canvas' ),
|
|
'slug' => 'tertiary',
|
|
'color' => $tertiary,
|
|
),
|
|
array(
|
|
'name' => __( 'Background', 'blank-canvas' ),
|
|
'slug' => 'background',
|
|
'color' => $background,
|
|
),
|
|
)
|
|
);
|
|
}
|
|
endif;
|
|
add_action( 'after_setup_theme', 'blank_canvas_setup', 11 );
|
|
|
|
/**
|
|
* Filter the colors for Blank Canvas
|
|
*/
|
|
function blank_canvas_colors() {
|
|
return array(
|
|
array( '--global--color-background', '#FFFFFF', __( 'Background Color', 'blank-canvas' ) ),
|
|
array( '--global--color-foreground', '#333333', __( 'Foreground Color', 'blank-canvas' ) ),
|
|
array( '--global--color-primary', '#000000', __( 'Primary Color', 'blank-canvas' ) ),
|
|
array( '--global--color-secondary', '#007cba', __( 'Secondary Color', 'blank-canvas' ) ),
|
|
array( '--global--color-tertiary', '#FAFAFA', __( 'Tertiary Color', 'blank-canvas' ) ),
|
|
);
|
|
}
|
|
add_filter( 'seedlet_colors', 'blank_canvas_colors' );
|
|
|
|
/**
|
|
* Remove Seedlet theme features.
|
|
*/
|
|
function blank_canvas_remove_parent_theme_features() {
|
|
// Theme Support.
|
|
remove_theme_support( 'custom-header' );
|
|
}
|
|
add_action( 'after_setup_theme', 'blank_canvas_remove_parent_theme_features', 11 );
|
|
|
|
/**
|
|
* Dequeue Seedlet scripts.
|
|
*/
|
|
function blank_canvas_dequeue_parent_scripts() {
|
|
if ( false === get_theme_mod( 'show_site_header', false ) ) {
|
|
// Naviation assets.
|
|
wp_dequeue_script( 'seedlet-primary-navigation-script' );
|
|
wp_dequeue_style( 'seedlet-style-navigation' );
|
|
}
|
|
}
|
|
add_action( 'wp_enqueue_scripts', 'blank_canvas_dequeue_parent_scripts', 11 );
|
|
|
|
/**
|
|
* Remove unused custmizer settings.
|
|
*/
|
|
function blank_canvas_remove_customizer_settings( $wp_customize ) {
|
|
|
|
// Remove Jetpack's Author Bio setting.
|
|
if ( function_exists( 'jetpack_author_bio' ) ) {
|
|
$wp_customize->remove_control( 'jetpack_content_author_bio_title' );
|
|
$wp_customize->remove_control( 'jetpack_content_author_bio' );
|
|
}
|
|
|
|
// Remove Seedlet's header and footer hide options,
|
|
// since they're already hidden by default.
|
|
$wp_customize->remove_control( 'hide_site_header' );
|
|
$wp_customize->remove_control( 'hide_site_footer' );
|
|
}
|
|
add_action( 'customize_register', 'blank_canvas_remove_customizer_settings', 11 );
|
|
|
|
/**
|
|
* Add custmizer settings.
|
|
*/
|
|
function blank_canvas_add_customizer_settings( $wp_customize ) {
|
|
|
|
// Cast the widgets panel as an object.
|
|
$customizer_widgets_panel = (object) $wp_customize->get_panel( 'widgets' );
|
|
|
|
$content_options_link = "wp.customize.control('show_site_header').focus(); return false;";
|
|
|
|
// Add a Customizer message about the site title & tagline options.
|
|
// translators: %s is an action which opens the "Content Options" section of customizer
|
|
$wp_customize->get_section( 'title_tagline' )->description = sprintf( __( 'The site logo, title, and tagline will only appear on all posts and pages if the "Site header and top menu" option is enabled in the <a href="#" onClick="%s">Content Options</a> section.', 'blank-canvas' ), $content_options_link );
|
|
$wp_customize->get_section( 'menu_locations' )->description = __( 'This theme will only display Menus if they are enabled in the Content Options section.', 'blank-canvas' );
|
|
$wp_customize->get_panel( 'nav_menus' )->description = __( 'This theme will only display Menus if they are enabled in the Content Options section.', 'blank-canvas' );
|
|
$customizer_widgets_panel->description = __( 'This theme will only display Widgets if they are enabled in the Content Options section.', 'blank-canvas' );
|
|
}
|
|
add_action( 'customize_register', 'blank_canvas_add_customizer_settings', 11 );
|
|
|
|
/**
|
|
* Remove Meta Footer Items.
|
|
*/
|
|
if ( ! function_exists( 'seedlet_entry_meta_footer' ) ) :
|
|
/**
|
|
* Prints HTML with meta information for the categories, tags and comments.
|
|
*/
|
|
function seedlet_entry_meta_footer() {
|
|
|
|
// Edit post link.
|
|
edit_post_link(
|
|
sprintf(
|
|
wp_kses(
|
|
/* translators: %s: Name of current post. Only visible to screen readers. */
|
|
__( 'Edit <span class="screen-reader-text">%s</span>', 'blank-canvas' ),
|
|
array(
|
|
'span' => array(
|
|
'class' => array(),
|
|
),
|
|
)
|
|
),
|
|
get_the_title()
|
|
),
|
|
'<span class="edit-link">' . seedlet_get_icon_svg( 'edit', 16 ),
|
|
'</span>'
|
|
);
|
|
}
|
|
endif;
|
|
|
|
/**
|
|
* Enqueue scripts and styles.
|
|
*/
|
|
function blank_canvas_enqueue() {
|
|
wp_enqueue_style( 'blank-canvas-styles', get_stylesheet_uri() );
|
|
}
|
|
add_action( 'wp_enqueue_scripts', 'blank_canvas_enqueue', 11 );
|
|
|
|
/**
|
|
* Block Patterns.
|
|
*/
|
|
require get_stylesheet_directory() . '/inc/block-patterns.php';
|
|
|
|
/**
|
|
* Customizer additions.
|
|
*/
|
|
require get_stylesheet_directory() . '/inc/customizer.php';
|
|
|
|
/**
|
|
* Adds custom classes to the array of body classes.
|
|
*
|
|
* @param array $classes Classes for the body element.
|
|
* @return array
|
|
*/
|
|
function blank_canvas_body_classes( $classes ) {
|
|
|
|
if ( false === get_theme_mod( 'show_post_and_page_titles', false ) ) {
|
|
$classes[] = 'hide-post-and-page-titles';
|
|
}
|
|
|
|
if ( false === get_theme_mod( 'show_site_footer', false ) ) {
|
|
$classes[] = 'hide-site-footer';
|
|
}
|
|
|
|
if ( false === get_theme_mod( 'show_comments', false ) ) {
|
|
$classes[] = 'hide-comments';
|
|
}
|
|
|
|
return $classes;
|
|
}
|
|
add_filter( 'body_class', 'blank_canvas_body_classes' );
|