feat: base wordpress local y tema cvfolio

This commit is contained in:
2026-05-29 12:29:31 -05:00
commit cc6545604c
3968 changed files with 1602409 additions and 0 deletions
+78
View File
@@ -0,0 +1,78 @@
<?php
declare(strict_types=1);
require_once get_template_directory() . '/inc/customizer.php';
require_once get_template_directory() . '/inc/patterns.php';
function cvolio_setup(): void
{
add_theme_support('title-tag');
add_theme_support('post-thumbnails');
add_theme_support('editor-styles');
add_theme_support('responsive-embeds');
add_theme_support('wp-block-styles');
add_theme_support('align-wide');
register_nav_menus([
'primary' => __('Menu principal', 'cvolio'),
]);
}
add_action('after_setup_theme', 'cvolio_setup');
function cvolio_enqueue_assets(): void
{
wp_enqueue_style(
'cvolio-fonts',
'https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap',
[],
null
);
wp_enqueue_style(
'cvolio-theme',
get_template_directory_uri() . '/assets/css/theme.css',
['cvolio-fonts'],
wp_get_theme()->get('Version')
);
wp_enqueue_script(
'cvolio-theme',
get_template_directory_uri() . '/assets/js/theme.js',
[],
wp_get_theme()->get('Version'),
true
);
}
add_action('wp_enqueue_scripts', 'cvolio_enqueue_assets');
function cvolio_body_classes(array $classes): array
{
$classes[] = 'cvolio-shell';
if (is_front_page()) {
$classes[] = 'cvolio-front-page';
}
return $classes;
}
add_filter('body_class', 'cvolio_body_classes');
function cvolio_render_contact_link(string $type, string $value): string
{
if ($value === '') {
return '';
}
$href = match ($type) {
'email' => 'mailto:' . antispambot($value),
'phone' => 'tel:' . preg_replace('/[^0-9+]/', '', $value),
default => esc_url($value),
};
return sprintf(
'<a class="cv-chip" href="%s">%s</a>',
esc_url($href),
esc_html($value)
);
}