No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Usando Widgets

19/34
Recursos

Aportes 34

Preguntas 15

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Símbolo de Copyright ©

Osea, en sí Php por si solo es muy sucio, ahora agregando prototipado de wordPress da pesadillas jeje

Les dejo el código funcionando

function sidebar(){
    register_sidebar(
        array(
            'name' => 'Pie de pagina',
            'id' => 'footer',
            'description' => 'Zona de Widgets para pie de pagina',
            'before_title' => '<p>',
            'after_title' => '</p>',
            'before_widget' => '<div id="%1$s" class= "%2$s">',
            'after_widget'  => '</div>',
        )    
        );
    
}

add_action('widgets_init', 'sidebar');

Encontré este code para actualizar el año del copy

  1. agregarlo en su archivo function.php
  2. en el widget que crearon reemplazar el año por [year]
function year_shortcode(){
    return date_i18n('Y');
}

add_shortcode('year', 'year_shortcode');

‘Crear sitios con WordPress es más fácil’ mis pelotas. Perdón por el comentario pero necesito sacar mi frustración. Esto no es nada intuitivo y no estoy entendiendo nada.

Este es el código que debemos utilizar para activar el widget en WP:

function sidebar() {
    register_sidebar( 
        array(
            'name' => 'Pie de página',
            'id' => 'footer',
            'description' => 'Zona de Widgets para pie de página',
            'before_title' => '<p>',
            'after_title' => '</p>',
            'before_widget' => '<div id="%1$s" class="%2$s"',
            'after_widget' => '</div>'
        )
    );
}

add_action( 'widgets_init', 'sidebar');

Un dato importante es que los hook de wordpress para todos los módulos que sean plural como por ejemplo “widgets” o “menus”, usa el plural (widgets en vez de widget). En los casos puntuales como “wp_head” o “wp_footer”, va a estar en singular. Esto nos ayuda a evitar errores al ecribir los hooks.

//Ir al archivo functions.php

function sidebar() { /* sidebar son los lugares donde se encuentran los widgets */
    register_sidebar(  /* funcion predefinida de wordpress */
        array (
            'name' => 'Pie de página',
            'id' => 'footer',
            'description' => '<Zona de widgets para pie de pagina',
            'before_title' => '<p>',
            'after_title' => '</p>',
            'before_widget' => '<div id="%1$s" class="%2$s">',
            'after_widget' => '</div>',
        )
        );

}

/* loop de wordpress */

add_action('widgets_init', 'sidebar');


/* 
Refrescar
Entrar en la seccion de widgets
Arrastrar texto a la zona Pie de Pagina
Agregar un titulo y description
Ir al footer.php

*/
<footer>
    <div class="container">
        <?php dynamic_sidebar( 'footer'); ?>
    </div>
</footer>

Increible las diferencias con otros lenguages, php es bastante estricto con el camel-case y los puntoYcoma ;;;;;;

documentación de WP para registrer_sidebar :
https://developer.wordpress.org/reference/functions/register_sidebar/

No me aparecen ni el menú ni los widgets

<?php
function init_template() {
    add_theme_support('post-thumbinails');
    add_theme_support('title-tag');

    register_nav_menus(
        array(
            'top_menu' => 'Menú Principal'
        )
    );


}

add_action ('after-setup-theme', 'init_template');
function assets(){
    wp_register_style('bootstrap','https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css', '', '4.4.1','all');
    wp_register_style('montserrat', 'https://fonts.googleapis.com/css?family=Montserrat&display=swap','','1.0', 'all');
    wp_enqueue_style('estilos', get_stylesheet_uri(), array('bootstrap','montserrat'),'1.1', 'all');
    wp_register_script('popper','https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js','','1.16.0','true');
    wp_enqueue_script('bootstrap','https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js',array('jquery','popper'),'4.4.1','true');
    wp_enqueue_script('custom',get_template_directory_uri().'/assets/js/custom.js','','1.0',true);
}   

add_action('wp_enqueue_scripts','assets');
function sidebar() {
    register_sidebar(
        array(
            'name' => 'pie de pagina',
            'id' => 'footer',
            'description' => 'zona de widgets para pie de pagina',
            'before_title' => '<p>',
            'after_title' => '</p>',
            'before_widget' => '<div id=" %1$s" class= "%2$s">',
            'after_widget'  => '</div>',
        )    
        );
    
}

add_action('widges_init', 'sidebar');

para los que no saben como sale el simbolo de es Alt + 184

Descripción de la función: register_sidebar

Wordpress se actualizó y ahora lo verás así…

😀 Si te sale esto, tengo la solución:


Paso 1: Identificar el problema

Lo podemos encontrar en:

function assets()

Puede que el problema este ahí, en este código en la versión 1.0:

 wp_enqueue_style('estilos', get_stylesheet_uri(), array('bootstrap','montserrat'),'1.0', 'all');

Paso 2: Modificar el código

Agregamos la versión 1.1:

 wp_enqueue_style('estilos', get_stylesheet_uri(), array('bootstrap','montserrat'),'1.1', 'all');

Y listo! A mi me funciono asi! 😀

alguien sabe por que mi widget aparece abajo del container. gracias !

no te aparecen los widgets? en esta pagina los puedes descargar https://es.wordpress.org/plugins/classic-widgets/

excelente clase

El entorno de Wordpress ha cambiado un poco !!

Duda:
cual es la diferencia entre las funciones

  • wp_register_xxxx
  • register_xxx

no logro ver con claridad como usarlas

Cristian tengo una pregunta, en el siguiente bloque de código:

register_sidebar(){
   array(
	'name' => ''pie de pagina',
	'id' => 'footer',
	'description' => ''zona de wigets para pie de pagina',
	'before_title' => '<p>',
	'after_title' => '</p>',
	'before_widget' => '<div id="%1$s" class="%2$s">',
	'after_widget' => '</div>',
		)
}

¿Por que el primer parametro ‘name’ está como string ?, y quisiera saber silo que pones ahí son propiedades de wordpress o variable que tu creaste ?, eso es javascrip o php ? , no entiendo muy bien por que por lo general es ejemplo: name = ‘alexandra’, en el caso de un objeto de array, me confunde que los dos estén dentro de las comillas sencillas.

Gracias

pensé que con wordpress era mas fácil crear un sitio web, siempre me lo decían, pero siento que trabajando con laravel se me es mas fácil.

El símbolo de Copyright ©

&#169;

En mi caso, no funcionaba, porque además de guardar, toca darle “hecho”, en el administrador.

Realice todo el código igual. y no me funciona el widgets.
functions.php
function sidebar(){
register_sidebar(
array(
‘name’ => ‘Pie de pagina’,
‘id’ => ‘footer’,
‘description’ => ‘Zona de Widgets para pie de pagina’,
‘before_title’ => ‘<p>’,
‘after_title’ => ‘</p>’,
‘before_widget’ => ‘<div id="%1$s" class= “%2$s”>’,
‘after_widget’ => ‘</div>’,
)
);

}

add_action(‘widgets_init’, ‘sidebar’);

footer.php
<footer>
<div class=“container”>
<?php dynamic_sidebar(‘footer’); ?>
</div>
</footer>

<?php wp_footer() ?>
<!-- trae todas las funciones que hagan referencia
al hook wp_footer–>
</body>
</html>

que podrá estar pasando

Gracias por la clase. Todo muy claro.

https://gwst.eu