193 lines
4.6 KiB
PHP
193 lines
4.6 KiB
PHP
<?php
|
|
|
|
function disable_default_patterns()
|
|
{
|
|
remove_theme_support('core-block-patterns');
|
|
}
|
|
add_action('after_setup_theme', 'disable_default_patterns');
|
|
|
|
|
|
/**
|
|
* Enqueue custom CSS file in block editor only
|
|
*/
|
|
function somos_infinitos_block_editor_styles()
|
|
{
|
|
// Only load in block editor, not in classic editor
|
|
if (!is_classic_editor_active()) {
|
|
wp_enqueue_style(
|
|
'somos-infinitos-block-editor-styles',
|
|
get_template_directory_uri() . '/assets/css/custom.css',
|
|
array(),
|
|
'1.0'
|
|
);
|
|
}
|
|
}
|
|
add_action('enqueue_block_editor_assets', 'somos_infinitos_block_editor_styles');
|
|
|
|
/**
|
|
* Check if classic editor is active
|
|
*/
|
|
function is_classic_editor_active()
|
|
{
|
|
// Check if the classic editor plugin is active
|
|
if (class_exists('Classic_Editor')) {
|
|
return true;
|
|
}
|
|
|
|
// Check if we're on the classic editor screen
|
|
if (function_exists('get_current_screen')) {
|
|
$screen = get_current_screen();
|
|
if ($screen && $screen->is_block_editor() === false && $screen->base === 'post') {
|
|
return true;
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* Enqueue custom CSS file on the frontend
|
|
*/
|
|
function somos_infinitos_frontend_styles()
|
|
{
|
|
// Don't load in admin
|
|
if (!is_admin()) {
|
|
wp_enqueue_style(
|
|
'somos-infinitos-custom-styles',
|
|
get_template_directory_uri() . '/assets/css/custom.css',
|
|
array(),
|
|
'1.0'
|
|
);
|
|
}
|
|
}
|
|
add_action('wp_enqueue_scripts', 'somos_infinitos_frontend_styles');
|
|
|
|
// enable svg uploads
|
|
add_filter('wp_check_filetype_and_ext', function ($data, $file, $filename, $mimes) {
|
|
|
|
global $wp_version;
|
|
if ($wp_version !== '4.7.1') {
|
|
return $data;
|
|
}
|
|
|
|
$filetype = wp_check_filetype($filename, $mimes);
|
|
|
|
return [
|
|
'ext' => $filetype['ext'],
|
|
'type' => $filetype['type'],
|
|
'proper_filename' => $data['proper_filename']
|
|
];
|
|
}, 10, 4);
|
|
function cc_mime_types($mimes)
|
|
{
|
|
$mimes['svg'] = 'image/svg+xml';
|
|
return $mimes;
|
|
}
|
|
add_filter('upload_mimes', 'cc_mime_types');
|
|
|
|
/* Remove default CSS variables that come with Wordpress
|
|
https://github.com/WordPress/gutenberg/issues/56180#issuecomment-1819222376
|
|
*/
|
|
function custom_wp_theme_json_default($theme_json)
|
|
{
|
|
$new_data = array(
|
|
'version' => 2,
|
|
'settings' => array(
|
|
'color' => array(
|
|
'palette' => array(),
|
|
'gradients' => array(),
|
|
),
|
|
'shadow' => array(
|
|
'presets' => array(),
|
|
),
|
|
'typography' => array(
|
|
'fontSizes' => array(),
|
|
),
|
|
// 'dimensions' => array(
|
|
// 'aspectRatios' => array(),
|
|
// ),
|
|
// 'spacing' => array(
|
|
// 'spacingScale' => array(
|
|
// 'steps' => 0,
|
|
// ),
|
|
// ),
|
|
),
|
|
);
|
|
return $theme_json->update_with($new_data);
|
|
}
|
|
add_filter('wp_theme_json_data_default', 'custom_wp_theme_json_default');
|
|
|
|
// remove default woocommerce fonts
|
|
add_filter('wp_theme_json_data_theme', 'disable_inter_font', 100);
|
|
function disable_inter_font($theme_json)
|
|
{
|
|
$theme_data = $theme_json->get_data();
|
|
$font_data = $theme_data['settings']['typography']['fontFamilies']['theme'] ?? array();
|
|
|
|
// The font name to be removed
|
|
$font_names = ['Inter', 'Cardo'];
|
|
$font_names_total = 2;
|
|
$font_names_found = 0;
|
|
|
|
// Check if 'Inter' font exists
|
|
foreach ($font_data as $font_key => $font) {
|
|
if (isset($font['name']) && in_array($font['name'], $font_names)) {
|
|
// Increment found font names
|
|
$font_names_found++;
|
|
|
|
// Remove the font
|
|
unset($font_data[$font_key]);
|
|
|
|
// Update font data
|
|
$theme_json->update_with(array(
|
|
'version' => 1,
|
|
'settings' => array(
|
|
'typography' => array(
|
|
'fontFamilies' => array(
|
|
'theme' => $font_data,
|
|
),
|
|
),
|
|
),
|
|
));
|
|
if ($font_names_found === $font_names_total) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
return $theme_json;
|
|
}
|
|
|
|
|
|
// Shortcode checkout
|
|
delete_transient('wc_stripe_appearance');
|
|
|
|
// Block checkout
|
|
delete_transient('wc_stripe_blocks_appearance');
|
|
|
|
add_filter('wc_stripe_upe_params', function ($stripe_params) {
|
|
|
|
// Affects block checkout
|
|
$stripe_params['blocksAppearance'] = (object) ['theme' => 'night'];
|
|
|
|
// Affects shortcode checkout
|
|
$stripe_params['appearance'] = (object) ['theme' => 'flat'];
|
|
|
|
return $stripe_params;
|
|
});
|
|
|
|
add_filter('wc_stripe_upe_params', function ($stripe_params) {
|
|
$stripe_params['appearance'] = (object) [
|
|
'rules' => (object) [
|
|
'.Label' => (object) [
|
|
'color' => 'black'
|
|
]
|
|
],
|
|
];
|
|
return $stripe_params;
|
|
});
|
|
|
|
add_action('woocommerce_before_checkout_form', 'remove_checkout_coupon_form', 9);
|
|
function remove_checkout_coupon_form() {
|
|
remove_action('woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10);
|
|
}
|