Files
pflores.linkedcorp.net/frontend/cvfolio-theme/inc/customizer.php
T

45 lines
2.3 KiB
PHP

<?php
declare(strict_types=1);
function cvolio_customize_register(WP_Customize_Manager $wp_customize): void
{
$wp_customize->add_section('cvolio_hero', [
'title' => __('CVolio: Presentacion', 'cvolio'),
'priority' => 30,
]);
$fields = [
'cvolio_hero_name' => ['label' => __('Nombre principal', 'cvolio'), 'default' => 'Patricia Flores'],
'cvolio_hero_role' => ['label' => __('Rol o titular', 'cvolio'), 'default' => 'Directora de proyectos, estratega digital y lider de producto'],
'cvolio_hero_intro' => ['label' => __('Introduccion', 'cvolio'), 'default' => 'Perfil profesional con enfoque humano, resultados medibles y una presentacion visual moderna.'],
'cvolio_hero_cta_label' => ['label' => __('Texto del boton', 'cvolio'), 'default' => 'Ver experiencia'],
'cvolio_hero_cta_url' => ['label' => __('Enlace del boton', 'cvolio'), 'default' => '#perfil'],
'cvolio_contact_location' => ['label' => __('Ubicacion', 'cvolio'), 'default' => 'Guayaquil, Ecuador'],
'cvolio_contact_email' => ['label' => __('Correo', 'cvolio'), 'default' => 'hola@ejemplo.com'],
'cvolio_contact_phone' => ['label' => __('Telefono', 'cvolio'), 'default' => '+593 999 999 999'],
'cvolio_skills_list' => ['label' => __('Habilidades separadas por coma', 'cvolio'), 'default' => 'Liderazgo, Comunicacion, WordPress, UX, SEO, Analitica'],
'cvolio_social_linkedin' => ['label' => __('LinkedIn', 'cvolio'), 'default' => ''],
'cvolio_social_github' => ['label' => __('GitHub', 'cvolio'), 'default' => ''],
'cvolio_social_portfolio' => ['label' => __('Portfolio', 'cvolio'), 'default' => ''],
];
foreach ($fields as $key => $field) {
$wp_customize->add_setting($key, [
'default' => $field['default'],
'sanitize_callback' => str_contains($key, 'url') || str_contains($key, 'linkedin') || str_contains($key, 'github') || str_contains($key, 'portfolio')
? 'esc_url_raw'
: 'sanitize_text_field',
]);
$controlType = $key === 'cvolio_hero_intro' ? 'textarea' : 'text';
$wp_customize->add_control($key, [
'label' => $field['label'],
'section' => 'cvolio_hero',
'type' => $controlType,
]);
}
}
add_action('customize_register', 'cvolio_customize_register');