La integración de plantillas creadas con el complemento JetThemeCore con el tema es una cuestión bastante común. Si quieres utilizar JetThemeCore como alternativa al constructor de temas de Elementor Pro, este tutorial te interesa. Por lo general las plantillas de uso más común para la integración son la de entrada única y la de archivo.
Para realizar la integración de forma segura vamos a utilizar un tema hijo.
¡ADVERTENCIA!
Es recomendable realizar todos los cambios directamente sobre el teme hijo. Ya sabes, el tema principal puede eliminar todos los cambios establecidos después de una actualización. Estos cambios quedarán fijados en el tema hijo y, además, después de la actualización del tema principal, heredará las funciones actualizadas.
Cómo es lógico si estas usando el Tema Kava, no es necesario que sigas ya que este tema se integra perfectamente con JetThemeCore. Lo mismo ocurre con los temas Hello, Astra, Generate Press y Ocean WP a través del plugin JetThemeCore Compatibility Kit.
Si este no es tu caso vamos a proceder con los siguientes pasos:
1 paso. Mover los archivos al directorio del tema hijo
En primer lugar, debes copiar los archivos principales de la carpeta del tema a la del tema hijo. Estos archivos son fundamentales para sobreescribir las plantillas. Los archivos que necesitaremos exactamente son:
archive.php
que es responsable de las plantillas de archivo;single.php
que define las entradas individuales;page.php
que está a cargo de las páginas.
Paso 2 : Añadir el código al archivo functions.php
Después de realizar las acciones del primer orden, ahora es el momento de abrir el archivo functions.php
en el tema hijo y agregar el siguiente código que contiene un enlace.
/**
* Process location
*
* @return void
*/
function cb_child_process_location( $location = null ) {
if ( ! function_exists( 'jet_theme_core' ) ) {
return false;
}
if( ! defined( 'ELEMENTOR_VERSION' ) ) {
return false;
}
$done = jet_theme_core()->locations->do_location( $location );
return $done;
}
Como se puede observar esta función previa comprobación de si tenemos instalado Elementor y JetThemeCore busca si existe una localización concreta.
Paso 3: Envolvier el código alrededor de la condición
A continuación hay que abrir los archivos comentados en el paso uno y entre las partes de código get_header();
y get_footer()
en el tema hijo hay que envover el contenido de lo que es el cuerpo de la pagina con el código siguiente:
if ( ! cb_child_process_location( 'archive' ) ) {
// El contenido de los diferentes tipos de página
}
Según el archivo que estes editando debes de colocar como argumento de la función un valor u otro, para los casos que estamos viendo:
- Para la página archive.php, poner ‘archive’
- En el caso de las paginas de
single.php
ypage.php
el argumento es ‘single’
Con esto ya tendríamos listo el tema para trabajar con JetThemeCore, de la misma manera lo podríamos hacer para WooCommerce. con las plantillas de archive-product.php
y single-product.php,
estas ultimas debes de sobreescribirlas colocando los archivos dentro de una carpeta que se debe llamar woocommcerce y colocarla en la raíz del tema hijo.
Esto es solo la primera parte, ya que aunque ahora ya podríamos, personalizar las distintas páginas de nuestro sitio, nos hacen falta los widgets que incluyen las diferentes partes de contenido o bien las etiquetas dinámicas con las que incluir el contenido en los widgets de texto o imagen existentes. Yo me inclino más bien por la segunda opción siempre que se pueda.
Si ya tienes algún addon con los widgets que necesitas, ya estaría listo. Por favor pon en los comentarios si este es tu caso y que addons utilizas.