<?php
/**
* Bahamas Theme functions and definitions
*/
/** Setup Theme */
if(! function_exists('bahamas_setup_theme') ) {
function bahamas_setup_theme() {
/** Add support titles */
add_theme_support("title-tag");
/** Add theme feed links */
add_theme_support( 'automatic-feed-links' );
/** Enable featured image */
add_theme_support("post-thumbnails");
/** Add support HTML5 */
add_theme_support('html5');
/** Add editor style **/
add_editor_style();
/** Add editor WP block style **/
//add_theme_support( "wp-block-styles" );
/** Add responsive embeds **/
add_theme_support( "responsive-embeds" );
add_theme_support( 'custom-header' );
/** Create custom menus */
register_nav_menus(array(
'main-menu' => esc_html__('Header','bahamas'),
));
/** Register support for Gutenberg wide images in writy */
add_theme_support('align-wide');
//Custom logo
add_theme_support( 'custom-logo' );
//Support for excerpt
add_post_type_support( 'page', 'excerpt' );
}
}
add_action('after_setup_theme', 'bahamas_setup_theme');
//Enabling custom spacing for group Gutenberg
function wpdc_enable_gutenberg_custom_spacing() {
add_theme_support( 'custom-spacing' );
}
add_action( 'after_setup_theme', 'wpdc_enable_gutenberg_custom_spacing' );
if(! function_exists('bahamas_scripts') ) {
function bahamas_scripts(){
/** Include css files */
//wp_enqueue_style('bahamas-font', 'https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');
wp_enqueue_style('bahamas-owlcarousel-css', get_template_directory_uri() .'/css/owl.carousel.min.css', false);
wp_enqueue_style('bahamas-owlcarousel-theme-css', get_template_directory_uri() .'/css/owl.theme.default.min.css', false);
//wp_enqueue_style('bahamas-animate-css', get_template_directory_uri() .'/css/animate.css', false);
wp_enqueue_style('bahamas-layout-css', get_template_directory_uri() .'/css/layout.css', false);
wp_enqueue_style('bahamas-fonts-css', get_template_directory_uri() .'/fonts/fonts.css', false);
wp_enqueue_style('bahamas-style-default-css', get_stylesheet_uri(), false, '1.0');
/** Include javascript files */
wp_enqueue_script('jquery');
//wp_enqueue_script('bahamas-wow-js', get_template_directory_uri() .'/js/wow.js', null, true );
wp_enqueue_script('bahamas-owlcarousel-js', get_template_directory_uri() .'/js/owl.carousel.min.js', null, true );
wp_enqueue_script('bahamas-custom-js', get_template_directory_uri() .'/js/custom.js', null, true );
}
}
add_action('wp_enqueue_scripts', 'bahamas_scripts');
/*** ADMIN STYLE ***/
add_action( 'admin_enqueue_scripts', 'load_admin_styles' );
function load_admin_styles() {
wp_enqueue_style('admin-css', get_template_directory_uri() .'/css/admin-style.css', false);
}
if(wp_is_mobile()){
add_filter( 'show_admin_bar', '__return_false' );
}
//include file
require_once(__DIR__ . '/include/widget.php');
require_once(__DIR__ . '/include/shortcode.php');
require_once(__DIR__ . '/include/meta-box.php');
require_once(__DIR__ . '/include/seo-functions.php');
require_once(__DIR__ . '/include/custom-post-type.php');
require_once(__DIR__ . '/admin/recapiti.php');
//remove gutenberg css
function smartwp_remove_wp_block_library_css(){
wp_dequeue_style( 'wp-block-library' );
wp_dequeue_style( 'wp-block-library-theme' );
wp_dequeue_style( 'wc-block-style' ); // Remove WooCommerce block CSS
}
add_action( 'wp_enqueue_scripts', 'smartwp_remove_wp_block_library_css', 100 );
/**
* Disable Fullscreen Gutenberg.
*/
add_action( 'enqueue_block_editor_assets', 'wpdd_disable_editor_fullscreen_by_default' );
function wpdd_disable_editor_fullscreen_by_default() {
$script = "window.onload = function() { const isFullscreenMode = wp.data.select( 'core/edit-post' ).isFeatureActive( 'fullscreenMode' ); if ( isFullscreenMode ) { wp.data.dispatch( 'core/edit-post' ).toggleFeature( 'fullscreenMode' ); } }";
wp_add_inline_script( 'wp-blocks', $script );
}
//Disabilito le notifiche degli aggiornamenti dei template
add_filter( 'auto_theme_update_send_email', '__return_false' );
//Disabilito le notifiche degli aggiornamenti dei plugin
add_filter( 'auto_plugin_update_send_email', '__return_false' );
//Disabilito le notifiche degli aggiornamenti del core
add_filter( 'auto_core_update_send_email', 'wpb_stop_auto_update_emails', 10, 4 );
function wpb_stop_update_emails( $send, $type, $core_update, $result ) {
if ( ! empty( $type ) && $type == 'success' ) {
return false;
}
return true;
}
// Disable WordPress Administration email verification prompt
add_filter( 'admin_email_check_interval', '__return_false' );
// rimuovo wp-container-{id} da colonne/colonna e gruppi
remove_filter( 'render_block', 'wp_render_layout_support_flag', 10, 2 );
add_filter( 'render_block', function( $block_content, $block ) {
if ( $block['blockName'] === 'core/columns' ) {
return $block_content;
}
if ( $block['blockName'] === 'core/column' ) {
return $block_content;
}
if ( $block['blockName'] === 'core/group' ) {
return $block_content;
}
return wp_render_layout_support_flag( $block_content, $block );
}, 10, 2 );
//Carico il recapcha solo dove รจ necessario
add_action('wp_print_scripts', function () {
global $post;
if ( is_a( $post, 'WP_Post' ) && !has_shortcode( $post->post_content, 'contact-form-7') ) {
wp_dequeue_script( 'google-recaptcha' );
wp_dequeue_script( 'wpcf7-recaptcha' );
}
});
/**
* Reusable Blocks accessible in backend
* @link https://www.billerickson.net/reusable-blocks-accessible-in-wordpress-admin-area
*
*/
function be_reusable_blocks_admin_menu() {
add_submenu_page( 'themes.php', 'Blocchi', 'Blocchi', 'edit_posts', 'edit.php?post_type=wp_block', '', 'dashicons-editor-table', 22 );
}
add_action( 'admin_menu', 'be_reusable_blocks_admin_menu' );
// Activate WordPress Maintenance Mode
/*
function wp_modalita_manutenzione() {
if (!current_user_can('edit_themes') || !is_user_logged_in()) {
wp_die('<h1>SITO IN MANUTENZIONE</h1><br />Sito temporaneamente non disponibile.');
}
}
add_action('get_header', 'wp_modalita_manutenzione');
*/
//Rimuovo gli auto p di cf7
add_filter('wpcf7_autop_or_not', '__return_false');
add_filter( 'widget_block_content', 'credidnofollow',99 ); //contenuto widget block
add_filter( 'widget_text_content', 'credidnofollow',99 ); //contenuto widget classic
function credidnofollow($content){
if(!is_front_page()){
$content = str_replace('href="https://www.emmepubblicita.com/"', 'href="https://www.emmepubblicita.com/" rel="nofollow"', $content);
}
return $content;
}
add_filter( 'the_content_more_link', 'my_more_link', 10, 2 );
function my_more_link( $more_link, $more_link_text ) {
$my_custom_more = ""; // leave NULL to diable
return str_replace( $more_link_text, $my_custom_more, $more_link );
}
All system for education purposes only. For more tools: Telegram @jackleet