Personalizar la página de inicio en Genesis Framework

  • Autor Autor eswal200
  • Fecha de inicio Fecha de inicio
eswal200

eswal200

Préstamo
Zeta
Verificación en dos pasos activada
Verificado por Whatsapp
Hola muchacho les cuento que quiero poner un área nueva en mi web algo asi como ven en la imagen:

hormigas-home.png


pero no se como hacerlo quise crear una nueva zona de widget pero esta aparece en todas la paginas y entrada de blog. pues yo solo quiero que aparesca en una pagina en espesifica, y agregue el siguiente codigio en functions.php

genesis_register_sidebar(array(
'id' => 'area-home',
'name' => __( 'Antes del Contenido en Home', 'metro' ),
'description' => __( 'Muestra widgets antes del contenido en la Home', 'metro' ),
) );

add_action( 'genesis_before_content', 'metro_widget_before_home' );
function metro_widget_before_home() {
if ( is_page('111') || is_active_sidebar('area-home') ) {
genesis_widget_area( 'area-home',array(
'before' => '<div class="area-home">',
'after' => '</div>',
) );
}
}

pero este codigo hace que el contenido salga en todas la paginas (claro remplazo los 111 por el id de la home o la pagina especifica)

el theme que estoy usando es metro-pro.

la finalidad de esto es que quiero personalizar la home como en estos ejemplo:

https://hormigasenlanube.com

https://www.lifestylealcuadrado.com/

Consejos demostrados para diseñadores Freelance

ya ven por donde voy se como agregar las secciones pero no se como hacer que me salgan solo en la home ?????

Y eso ya esta como volviéndome capas de destrozar un toda mi pc 😛

OOO Quien podraa ayuudarrmee :O🙂
 
Creo que la clave está en el OR del condicional:

HTML:
if ( is_page('111') || is_active_sidebar('area-home') )

Le estás diciendo que meta el widget area SI es la página con ID 111 O SI la area-home está activa, y esto último es válido para todas las páginas si le has puesto un widget dentro, o sea que la condición se cumple siempre. Prueba a cambiarlo por:

HTML:
if ( is_page('111') && is_active_sidebar('area-home') )

es decir, SI es la página con ID 111 Y la area-home contiene widgets
 
Última edición:
No necesitas estar retocando código. Solo instala los plugins "Page Builder by SiteOrigin" y "SiteOrigin Widgets Bundle" y "Black Studio TinyMCE Widget" después:

1. crea una página nueva (que será la que tienes que indicar como la home de tu blog)

2. Pincha en la opción page builder.

0.webp

3. Introduce filas y en cada fila los widgets que quieras: imagenes, texto, formularios de contacto....

1.webp

Dentro de cada fila y widget puedes retocar la posición subiéndolo más arriba o más abajo, cambiando el color de fondo, etc.

Así es como se construye una página de este tipo.
 
Última edición:
En serio? Tres plugins mastodónticos a cambio de unas líneas de código? Yo, personalmente, sigo la política contraria: si con unas líneas de código puedo quitar un plugin, mejor. El resultado es una web más eficiente en lugar de una con una carga cada vez más lenta. De todos modos es sólo una opción personal, naturalmente. 🙂
Un saludo.
 
La diferencia en la carga es practicamente inapreciable...
 
Lo primero que voy hacer es probrar los codigos si no funcionan probare los plugin y ver q tanto afecta el rendimiento y la velocidad

- - - Actualizado - - -

El problema sigue igual.

Creo que la clave está en el OR del condicional:

HTML:
if ( is_page('111') || is_active_sidebar('area-home') )

Le estás diciendo que meta el widget area SI es la página con ID 111 O SI la area-home está activa, y esto último es válido para todas las páginas si le has puesto un widget dentro, o sea que la condición se cumple siempre. Prueba a cambiarlo por:

HTML:
if ( is_page('111') && is_active_sidebar('area-home') )

es decir, SI es la página con ID 111 Y la area-home contiene widgets
 
¿Sigue sin funcionar? Yo creo que la clave está en lo que dice Enrique. Sería algo como:
Insertar CODE, HTML o PHP:
genesis_register_sidebar( array(
	'id'          => 'before-home',
	'name'        => __( 'Home Before Content', 'wpsites' ),
	'description' => __( 'Displays Before Content On Home Page.', 'wpsites' ),
) );
/**
 * @author    Brad Dalton
 * [MENTION=74290]example[/MENTION]   [url=http://wpsites.net/web-design/add-widget-area-before-content/]Add Widget Area Before Content in Genesis[/url]
 * [MENTION=109939]Copy[/MENTION]right 2014 WP Sites
 */
add_action( 'genesis_before_content', 'wpsites_widget_before_home' );
function wpsites_widget_before_home() {
if ( is_home() && is_active_sidebar('before-home') ) {
	genesis_widget_area( 'before-home', array(
		'before' => '<div class="before-home" class="widget-area">',
		'after'  => '</div>',
	) );
    }
}
Add Widget Area Before Content in Genesis.

Si das con la tecla compártelo por favor. Por cierto, page builder es un gran plugin pero instalar todo solo para un hook me parece excesivo, y más trabajando con génesis.
 
Atrás
Arriba