*/ function gustavoo_portfolio_get_defaults() { $defaults = array( 'hero_eyebrow' => __( 'Desenvolvimento de ponta a ponta', 'gustavoo-portfolio' ), 'hero_title' => __( 'Transformo ideias em produtos digitais sólidos.', 'gustavoo-portfolio' ), 'hero_description' => __( 'Gustavo, Desenvolvedor Full Stack Sênior. Web, mobile, infraestrutura e automação para tirar projetos do papel e fazê-los crescer.', 'gustavoo-portfolio' ), 'hero_primary_label' => __( 'Ver projetos', 'gustavoo-portfolio' ), 'hero_primary_url' => '#projetos', 'hero_secondary_label' => __( 'Fale comigo', 'gustavoo-portfolio' ), 'hero_secondary_url' => '#contato', 'about_eyebrow' => __( 'Sobre mim', 'gustavoo-portfolio' ), 'about_title' => __( 'Responsabilidade técnica do planejamento à produção.', 'gustavoo-portfolio' ), 'about_text' => __( 'Mais do que escrever código, meu objetivo é garantir que seu projeto saia do papel e funcione exatamente como planejado. Assumo a responsabilidade técnica de ponta a ponta para que você foque no que importa: crescer.', 'gustavoo-portfolio' ), 'about_secondary_text' => __( 'Já participei do desenvolvimento e lançamento de múltiplos projetos digitais, atuando da arquitetura técnica à divulgação e ao crescimento das plataformas. Essa combinação de visão técnica e entendimento de mercado orienta cada entrega.', 'gustavoo-portfolio' ), 'services_eyebrow' => __( 'Como posso ajudar', 'gustavoo-portfolio' ), 'services_title' => __( 'Soluções completas para produtos digitais.', 'gustavoo-portfolio' ), 'services_description' => __( 'Estratégia, código e infraestrutura trabalhando juntos para criar experiências rápidas, seguras e preparadas para evoluir.', 'gustavoo-portfolio' ), 'projects_eyebrow' => __( 'Portfólio', 'gustavoo-portfolio' ), 'projects_title' => __( 'Projetos selecionados', 'gustavoo-portfolio' ), 'projects_text' => __( 'Uma seleção de produtos, experiências e soluções que ajudei a colocar no mundo.', 'gustavoo-portfolio' ), 'projects_limit' => 6, 'blog_eyebrow' => __( 'Blog', 'gustavoo-portfolio' ), 'blog_title' => __( 'Código, produto e bastidores', 'gustavoo-portfolio' ), 'blog_text' => __( 'Análises práticas sobre desenvolvimento, infraestrutura, automação e crescimento de produtos digitais.', 'gustavoo-portfolio' ), 'blog_limit' => 4, 'contact_eyebrow' => __( 'Vamos conversar', 'gustavoo-portfolio' ), 'contact_heading' => __( 'Tem um projeto em mente?', 'gustavoo-portfolio' ), 'contact_text' => __( 'Conte o que você precisa construir ou melhorar. Responderei com os próximos passos para transformar a ideia em uma entrega concreta.', 'gustavoo-portfolio' ), 'contact_form_id' => 0, 'newsletter_eyebrow' => __( 'Newsletter', 'gustavoo-portfolio' ), 'newsletter_heading' => __( 'Ideias úteis, direto na sua caixa de entrada.', 'gustavoo-portfolio' ), 'newsletter_text' => __( 'Receba conteúdos sobre desenvolvimento, produto, infraestrutura e automação. Sem ruído e sem spam.', 'gustavoo-portfolio' ), 'newsletter_form_id' => 0, 'email' => (string) get_option( 'admin_email', '' ), 'whatsapp' => '', 'whatsapp_message' => __( 'Olá! Gostaria de falar sobre um projeto.', 'gustavoo-portfolio' ), 'github_url' => '', 'linkedin_url' => '', 'instagram_url' => '', 'projects_archive_url' => '', 'availability_label' => __( 'Disponível para novos projetos', 'gustavoo-portfolio' ), ); /** * Filter theme defaults before saved settings are merged. * * @param array $defaults Default settings. */ return apply_filters( 'gustavoo_portfolio_defaults', $defaults ); } /** * Return the saved theme settings merged with safe local defaults. * * @return array */ function gustavoo_portfolio_get_settings() { $settings = get_option( 'gustavoo_portfolio_settings', array() ); if ( ! is_array( $settings ) ) { $settings = array(); } return wp_parse_args( $settings, gustavoo_portfolio_get_defaults() ); } /** * Read one theme setting. A few aliases preserve compatibility with early builds. * * @param string $key Setting key. * @param mixed $fallback Optional fallback. * @return mixed */ function gustavoo_portfolio_get_setting( $key, $fallback = null ) { $customizer_key = 'gustavoo_portfolio_' . $key; $customizer_values = get_theme_mods(); if ( is_array( $customizer_values ) && array_key_exists( $customizer_key, $customizer_values ) ) { return $customizer_values[ $customizer_key ]; } $settings = gustavoo_portfolio_get_settings(); $aliases = array( 'hero_eyebrow' => array( 'hero_kicker' ), 'hero_description' => array( 'hero_text' ), 'contact_form_id' => array( 'fluent_contact_form_id', 'lead_form_id' ), 'newsletter_form_id' => array( 'fluent_newsletter_form_id', 'fluentcrm_form_id' ), 'contact_heading' => array( 'contact_title' ), 'newsletter_heading' => array( 'newsletter_title' ), ); if ( array_key_exists( $key, $settings ) && '' !== $settings[ $key ] && null !== $settings[ $key ] ) { return $settings[ $key ]; } if ( isset( $aliases[ $key ] ) ) { foreach ( $aliases[ $key ] as $alias ) { if ( array_key_exists( $alias, $settings ) && '' !== $settings[ $alias ] && null !== $settings[ $alias ] ) { return $settings[ $alias ]; } } } if ( null !== $fallback ) { return $fallback; } $defaults = gustavoo_portfolio_get_defaults(); return $defaults[ $key ] ?? ''; } /** * Return the service cards used by the front page. * * @return array> */ function gustavoo_portfolio_get_services() { $services = array( array( 'number' => '01', 'title' => __( 'Web, Mobile e E-commerce', 'gustavoo-portfolio' ), 'description' => __( 'Sites institucionais, aplicações para iOS e Android, softwares desktop, lojas e marketplaces personalizados com foco em experiência e conversão.', 'gustavoo-portfolio' ), ), array( 'number' => '02', 'title' => __( 'WordPress avançado', 'gustavoo-portfolio' ), 'description' => __( 'Temas e plugins sob medida, integrações específicas, recuperação de sites e otimização para Core Web Vitals.', 'gustavoo-portfolio' ), ), array( 'number' => '03', 'title' => __( 'Infraestrutura e servidores', 'gustavoo-portfolio' ), 'description' => __( 'Ambientes Linux, VPS e servidores dedicados configurados para manter aplicações estáveis, rápidas, seguras e escaláveis.', 'gustavoo-portfolio' ), ), array( 'number' => '04', 'title' => __( 'Automação e integrações', 'gustavoo-portfolio' ), 'description' => __( 'APIs e fluxos com n8n para conectar sistemas, organizar dados e eliminar tarefas operacionais repetitivas.', 'gustavoo-portfolio' ), ), array( 'number' => '05', 'title' => __( 'Games e experiências interativas', 'gustavoo-portfolio' ), 'description' => __( 'Jogos 2D e 3D para celulares, computadores e navegadores, incluindo ranking, multiplayer e compras dentro do jogo.', 'gustavoo-portfolio' ), ), array( 'number' => '06', 'title' => __( 'Divulgação e crescimento', 'gustavoo-portfolio' ), 'description' => __( 'Estratégias de conteúdo, comunidades, parcerias e mídia paga para aproximar produtos digitais do público certo.', 'gustavoo-portfolio' ), ), ); /** * Filter the service cards shown on the front page. * * @param array> $services Service cards. */ return apply_filters( 'gustavoo_portfolio_services', $services ); }