CursosEmpresasBlogLiveConfPrecios

Refactorizando nuestro código

Clase 12 de 13 • Curso de Creación de Temas para WordPress

Clase anteriorSiguiente clase

Contenido del curso

Comenzando nuestro theme
  • 1
    Conversión de Plantillas HTML a Temas de WordPress

    Conversión de Plantillas HTML a Temas de WordPress

    01:07
  • 2

    Instalación de LocalWP en Windows para WordPress

    02:44
  • 3
    Creación de un Tema de WordPress desde Cero

    Creación de un Tema de WordPress desde Cero

    10:54
Armar estructura del Theme
  • 4
    Armando los archivos de nuestro Theme

    Armando los archivos de nuestro Theme

    10:17
  • 5
    Hooks

    Hooks

    13:52
  • 6
    Agregando de funcionalidades de WordPress a nuestro theme

    Agregando de funcionalidades de WordPress a nuestro theme

    09:42
  • 7
    Asignando theme supports

    Asignando theme supports

    10:59
  • 8
    Registrar y mostrar menúes

    Registrar y mostrar menúes

    10:11
  • 9
    Registrando sidebars para nuestros Widgets

    Registrando sidebars para nuestros Widgets

    06:41
Personalizar el Loop de WordPress
  • 10
    Creando un Custom Post Type

    Creando un Custom Post Type

    12:49
  • 11
    Listando nuestros productos

    Listando nuestros productos

    13:48
  • 12
    Refactorizando nuestro código

    Refactorizando nuestro código

    12:53
Cierre del curso
  • 13
    Cierre del curso

    Cierre del curso

    00:38
    Gabriel Mundaray

    Gabriel Mundaray

    student•
    hace 4 años

    Aunque en este curso aprendí muchas cosas que no sabía, hay dos cosas que me gustaría agregar, ya que estoy haciendo este curso desde la ruta desarrollo con WordPress.

    1. Antes de ente curso deberían añadir en a ruta cursos introductorios de PHP para que el estudiante lo entienda mejor, no es justo que luego del curso de creación de Blogs con WordPress, de una vez te pongan a crear themes, deberían colocar antes el curso de Introducción a PHP por ejemplo.

    2. A veces el profesor iba muy rápido, y además de esto, su pantalla se veía como lenta, seguro un problema en la captura del video, esto tampoco ayudaba mucho.

      Marco Antonio Riera Marquez

      Marco Antonio Riera Marquez

      student•
      hace 4 años

      Estoy muy de acuerdo con tu aporte Gabriel!

      Aldo Miguel Ortiz Parodi

      Aldo Miguel Ortiz Parodi

      student•
      hace 4 años

      Sobre tu sugerencia también pensé en ello y te comento que ahora antes de este curso se pide llevar los cursos de HTML y CSS, JavaScript Básico, PHP Básico y PHP Práctico. Platzi como plataforma está en constante mejora, y eso da mucho gusto. Los nuevos estudiantes tendrán una mejor experiencia antes de llevar este curso, que personalmente me ha EN CAN TA DO 😃 .

    Jeremías San Martín

    Jeremías San Martín

    student•
    hace 4 años

    Este curso era justo lo que no entendía de los theme de wordpress.

    ¡Buen trabajo!

      Cristian Ramanzin

      Cristian Ramanzin

      teacher•
      hace 4 años

      ¡Que bueno! Luego nos dejas un review contándonos que fue lo que más te gustó. 😀

      Leonardo Rios Pineda

      Leonardo Rios Pineda

      student•
      hace 4 años

      Personalmente me ayudo a tener mejores practicas en el desarrollo de temas <3

    Stephany Kamsteeg Rodiño

    Stephany Kamsteeg Rodiño

    student•
    hace 3 años

    que enrredo este curso JAJAJA lo unico que aprendí fue a instalar el localWP xDDD

      César Luis Amundaray Rodríguez

      César Luis Amundaray Rodríguez

      student•
      hace 3 años

      Jajaja

    Andrés Felipe Acevedo Del Rio

    Andrés Felipe Acevedo Del Rio

    student•
    hace 4 años

    Esta clase es un antes y un después jajaja. Especialmente con lo de:

    <?php do_action("acv_signin"); ?>

    👌👌👌

    Julián Andrés Loaiza Ospina

    Julián Andrés Loaiza Ospina

    student•
    hace 4 años

    Refactorizar código

    Para seccionar el contenido de los archivos se utiliza una carpeta que por conveniencia y estándar se suele llamar template-parts en la cual se almacenarán archivos .php que sean partes específicas de nuestro código para hacerlo más legible y se hace referencia al código mediante la función:

    <?php get_template_part('template-parts/content', 'header'); ?>

    En este caso se trae el código php que se encuentra en la dirección:

    nuestro-tema/template-parts/content-header.php

    <header class="encabezado"> //.. Código html y php </header>

    También existe la función do_action(*nombrehookpersonalizado*) la cuál permite ejecutar un fragmento de código en un lugar específico del ciclo de ejecución

    Por ejemplo para para cambiar un texto de sign in a log in según el estado del usuario

    <a href="<?= home_url("sign-in"); ?>" class="encabezado_sign-in"> //página sign-in <?php do_action("plz_signin"); ?> </a>

    functions.php

    function plz_add_to_signin_menu(){ $current_user = wp_get_current_user(); $msg = is_user_logged_in()? $current_user->user_email : "Sign in"; echo $msg; } add_action("plz_signin", "plz_add_to_signin_menu");
    Franklin Peñafiel

    Franklin Peñafiel

    student•
    hace 4 años

    Joya de curso, aprendí mucho y ya lo apliqué en un proyecto del trabajo, solo me faltaba aprender optiminar el código, al principio pensé usar include pero no me funcionó. Este video me explicó lo que tengo que hacer. Gracias

    Aldo Miguel Ortiz Parodi

    Aldo Miguel Ortiz Parodi

    student•
    hace 4 años

    12. Refactorizando nuestro código

    Lo aprendido en esta clase ha sido súper interesante, un tanto complejo pero EMOCIONANTE. Espero poder aplicar lo aprendido en este curso en varios proyectos que tengo a disposición :)

    Además aprendimos la importancia de refactorizar nuestro código.


    Referencias documentación WordPress:

    https://developer.wordpress.org/reference/functions/get_template_part/

    Santiago Pereira

    Santiago Pereira

    student•
    hace 4 años

    Hola, excelente curso

    Hay forma de refactorizar el archivo functions.php con el fin de no tener tantas lineas de codigo y actiones en un solo lugar?

      Cristian Ramanzin

      Cristian Ramanzin

      teacher•
      hace 4 años

      Si, puedes tener tu carpeta includes por ejemplo, y dentro de esa carpeta tener tus funcionalidades divididas por archivos. Luego desde el archivo functions.php las llamas utilizando la función de PHP required_once. Documentación

      Cristian Ramanzin

      Cristian Ramanzin

      teacher•
      hace 4 años

      Fe de erratas. La función se llama require_once

    César Luis Amundaray Rodríguez

    César Luis Amundaray Rodríguez

    student•
    hace 3 años

    Wow! ha sido un reto llevar este curso. Con lo aprendido siento que a penas estoy a las puertas de algo mucho más grande. A seguir practicando y aprendiendo.

    Rodrigo Alles

    Rodrigo Alles

    student•
    hace 3 años

    Apuntes

    Refactorizando nuestro código en WordPress

    Cuando se trabaja con temas de WordPress, es importante mantener un código limpio y organizado para facilitar su mantenimiento y escalabilidad. Una forma de hacerlo es utilizando plantillas parciales y la función get_template_part. A continuación, se explican los pasos para refactorizar el código de un tema de WordPress.

    Creando plantillas parciales

    Las plantillas parciales son archivos que contienen una porción de código que se utiliza en varias partes del sitio web. Por ejemplo, la sección de encabezado o pie de página. Para crear una plantilla parcial, se guarda el código correspondiente en un archivo y se lo nombra de manera descriptiva.

    // header.php <!DOCTYPE html> <html <?php language_attributes(); ?>> <head> <meta charset="<?php bloginfo( 'charset' ); ?>"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title><?php wp_title( '|', true, 'right' ); ?></title> <?php wp_head(); ?> </head> <body <?php body_class(); ?>> <?php do_action( 'before_header' ); ?> <header> <?php get_template_part( 'template-parts/header/logo' ); ?> <?php get_template_part( 'template-parts/header/navigation' ); ?> </header> <?php do_action( 'after_header' ); ?> <main>

    En este ejemplo, se crea la plantilla parcial header.php que contiene el código del encabezado del sitio web. Se utiliza la función get_template_part para incluir otras plantillas parciales, como logo.php y navigation.php, que contienen el código correspondiente al logo y la navegación del sitio web.

    Utilizando la función get_template_part

    La función get_template_part se utiliza para incluir plantillas parciales en un archivo de tema. La sintaxis general de la función es la siguiente:

    get_template_part( $slug, $name );
    • $slug: es el nombre del archivo de la plantilla sin la extensión .php. Por ejemplo, header para header.php.
    • $name: es el nombre adicional de la plantilla parcial. Por ejemplo, logo para logo.php.

    Utilizando la función do_action

    La función do_action se utiliza para ejecutar acciones en un punto específico del código. Las acciones son ganchos que permiten a los plugins y temas de WordPress agregar o modificar el comportamiento del sitio web. La sintaxis general de la función es la siguiente:

    do_action( $tag, $arg );
    • $tag: es el nombre de la acción.
    • $arg: es un argumento opcional que se pasa a la acción.

    Utilizando la función wp_get_current_user

    La función wp_get_current_user se utiliza para obtener el usuario actual en WordPress. La función devuelve un objeto WP_User que contiene información del usuario. La sintaxis general de la función es la siguiente:

    $current_user = wp_get_current_user();

    En este ejemplo, se almacena el objeto WP_User del usuario actual en la variable $current_user.

    Utilizando la función var_dump

    La función var_dump se utiliza para imprimir información detallada sobre una variable o expresión en PHP. La función muestra el tipo de datos, la longitud y los valores de las variables. La sintaxis general de la función es la siguiente:

    var_dump( $variable );

    En este ejemplo, se utiliza la función var_dump para imprimir la información detallada del objeto WP_User del usuario actual.

    Conclusión

    Refactorizar el código en WordPress utilizando plantillas parciales y la función get_template_part es una forma efectiva de mantener un código organizado y fácil de mantener. Además, las funciones do_action, wp_get_current_user y var_dump son herramientas útiles para agregar funcionalidades y depurar errores en los temas de WordPress.

    Alvaro Ruiz

    Alvaro Ruiz

    student•
    hace 3 años

    Porque cuando doy clic a 'Sign in' me redirecciona al home y no a sing-in.php para realizar un posible logueo?

      Alvaro Ruiz

      Alvaro Ruiz

      student•
      hace 3 años

      XD novatadas, repuesta! Porque estoy creando la carpeta (o el archivo php) en la raiz del tema y no en la raiz del proyecto! wordpress\nameProject\sign-in\index.php

    Jean Garcia

    Jean Garcia

    student•
    hace 7 meses

    Excelente, es como si modularamos elntrmplate

    Alejandro Ariza

    Alejandro Ariza

    student•
    hace 2 años

    funtions.php

    function plz_add_to_signin_menu(){    $current_user = wp_get_current_user();    // var_dump($current_user);    $msn = is_user_logged_in()? $current_user->user_email : "iniciar sesión";     echo $msn;} add_action("plz_signin","plz_add_to_signin_menu");

    content-header.php

    <div class="encabezado__cart col-5 col-md-2">                    <a href="<?php echo home_url("sign-in"); ?>" class="encabezado_sign-in">                        <?php do_action("plz_signin");  ?>                    </a>                    <a href="#" class="encabezado__link active">                        <img src="<?php echo get_template_directory_uri();?>/assets/img/header-empty-card.svg" alt="cart">                    </a>                </div>

    Alfonso José Chavarro Cortes

    Alfonso José Chavarro Cortes

    student•
    hace 2 años
    1. Template Parts: Son como piezas de código que puedes usar una y otra vez en diferentes partes de la página.
    2. get_template_part(): Es una función que permite llamar una de esas piezas de código en la página.
    3. do_action(): Es una función que te permite invocar una función específica previamente descrita en la página.
    4. var_dump(): Función que permite mostrar información detallada de alguna variable o expresión de PHP. Esta función muestra información estructurada, como el tipo y el valor de la variable.
    fermin martin

    fermin martin

    student•
    hace 3 años

    Mejoramos las medidas del ancho de pantalla con bootstrap para que encaje mejor

    fermin martin

    fermin martin

    student•
    hace 3 años

    Crear y encapsular la funcionalidad Sign In (registro) de forma dinámica

    Alvaro Ruiz

    Alvaro Ruiz

    student•
    hace 3 años

    Es un curso muy útil y funcional, ciertamente se requiere pasar por el introductorio de PHP, pero es un curso de los que tengo de referencia.

    Will Lemus

    Will Lemus

    student•
    hace 3 años

    Excelente curso me ha ayudado mucho en este proceso de aprendizaje que he tomado, me gusta por ser muy practico

    Norman Jaimes Mora

    Norman Jaimes Mora

    student•
    hace 6 meses

    Cómo hizo para que el objeto que le mostró el var_dump, se le mostrara indentado en el front?

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads