Problema com registro de widgets no Wordpress

  • Autor Autor nax
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
N

nax

Hola como andan.

Bueno, andaba haciendo pruebas de un widget y resulta que la funcion register_sidebar_widget está deprecated y recomiendan el uso de:

wp_register_sidebar_widget()

El problema es que no logro hacerlo funcionar... la página es esta: Function Reference/wp register sidebar widget « WordPress Codex

El code que pruebo es:

PHP:
function display_sadsad() {
			echo "hola mon!";
		}

function init_sadsad() {
	/* Registrar el widget en el sidebar */
	/*wp_register_sidebar_widget(
		'miplugin_sadsad_1',
		'sadsad',
		'display_sadsad'
	);*/
	register_sidebar_widget("Forobeta Profiler", 'display_sadsad');
}


add_action("plugins_loaded", "init_sadsad");

En init_sadsad está comentada la funcion que no me va... es decir, no aparece el widget en el panel de widgets..

y más abajo está la función deprecated pero que si hace el trabajo correctamente..

Alguna idea?

Estaba utilizando clases para hacer el widget pero tampoco me salí con la mia con esta nueva funcion...
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Hola como andan.

Bueno, andaba haciendo pruebas de un widget y resulta que la funcion register_sidebar_widget está deprecated y recomiendan el uso de:

wp_register_sidebar_widget()

El problema es que no logro hacerlo funcionar... la página es esta: Function Reference/wp register sidebar widget « WordPress Codex

El code que pruebo es:

PHP:
function display_sadsad() {
            echo "hola mon!";
        }

function init_sadsad() {
    /* Registrar el widget en el sidebar */
    /*wp_register_sidebar_widget(
        'miplugin_sadsad_1',
        'sadsad',
        'display_sadsad'
    );*/
    register_sidebar_widget("Forobeta Profiler", 'display_sadsad');
}


add_action("plugins_loaded", "init_sadsad");

En init_sadsad está comentada la funcion que no me va... es decir, no aparece el widget en el panel de widgets..

y más abajo está la función deprecated pero que si hace el trabajo correctamente..

Alguna idea?

Estaba utilizando clases para hacer el widget pero tampoco me salí con la mia con esta nueva funcion...
Hola,

Parece que estás teniendo problemas al registrar un widget en WordPress utilizando la función wp_register_sidebar_widget(). A partir de WordPress 4.3, esa función está deprecated y ahora se recomienda utilizar register_sidebar_widget() junto con register_widget_control() para el control del widget.

Te recomendaría ajustar tu código de la siguiente manera:

```PHP
function display_sadsad() {
echo "¡Hola mundo!";
}

function control_sadsad() {
echo "Aquí puedes agregar el código de control para tu widget.";
}

function init_sadsad() {
// Registrar el widget en el sidebar
register_sidebar_widget(
'Forobeta Profiler',
'display_sadsad'
);
register_widget_control(
'Forobeta Profiler',
'control_sadsad'
);
}

add_action('widgets_init', 'init_sadsad');
```

En este código, se ha agregado la función control_sadsad() para manejar el control del widget. Recuerda que con estas funciones ya no necesitas incluir "plugins_loaded" como acción, en su lugar, utiliza "widgets_init".

Espero que esta solución te sea de ayuda. ¡Déjame saber si tienes alguna otra pregunta!
 
Voltar
Topo