themes-wordpress/bark/functions.php

100 lines
2.3 KiB
PHP
Raw Normal View History

2024-07-19 04:00:00 +00:00
<?php
/**
* Bark functions and definitions
*
* @link https://developer.wordpress.org/themes/basics/theme-functions/
*
* @package Bark
* @since Bark 1.0
*/
declare( strict_types = 1 );
if ( ! function_exists( 'bark_unregister_patterns' ) ) :
/**
* Unregister Jetpack patterns and core patterns bundled in WordPress.
*/
function bark_unregister_patterns() {
$pattern_names = array(
// Jetpack form patterns.
'contact-form',
'newsletter-form',
'rsvp-form',
'registration-form',
'appointment-form',
'feedback-form',
// Patterns bundled in WordPress core.
// These would be removed by remove_theme_support( 'core-block-patterns' )
// if it's called on the init action with priority 9 from a plugin, not from a theme.
'core/query-standard-posts',
'core/query-medium-posts',
'core/query-small-posts',
'core/query-grid-posts',
'core/query-large-title-posts',
'core/query-offset-posts',
'core/social-links-shared-background-color',
);
foreach ( $pattern_names as $pattern_name ) {
$pattern = \WP_Block_Patterns_Registry::get_instance()->get_registered( $pattern_name );
if ( $pattern ) {
unregister_block_pattern( $pattern_name );
}
}
}
endif;
if ( ! function_exists( 'bark_setup' ) ) :
/**
* Sets up theme defaults and registers support for various WordPress features.
*
* @since Bark 1.0
*
* @return void
*/
function bark_setup() {
// Enqueue editor styles.
add_editor_style( 'style.css' );
// Unregister Jetpack form patterns and core patterns bundled in WordPress.
// Simple sites
bark_unregister_patterns();
add_filter( 'wp_loaded', function () {
// Atomic sites
bark_unregister_patterns();
} );
// Remove theme support for the core and featured patterns coming from the Dotorg pattern directory.
remove_theme_support( 'core-block-patterns' );
}
endif;
add_action( 'after_setup_theme', 'bark_setup' );
if ( ! function_exists( 'bark_styles' ) ) :
/**
* Enqueue styles.
*
* @since Bark 1.0
*
* @return void
*/
function bark_styles() {
// Register theme stylesheet.
wp_register_style(
'bark-style',
get_stylesheet_directory_uri() . '/style.css',
array(),
wp_get_theme()->get( 'Version' )
);
// Enqueue theme stylesheet.
wp_enqueue_style( 'bark-style' );
}
endif;
add_action( 'wp_enqueue_scripts', 'bark_styles' );