Wordpress error (wp_signon)


#1

Hola buenas tardes.

Veran tengo un problema con wordpress. He creado mi propio “template” y en su index hago uso de la función wp_signon(), pero al introducir el usuario y contraseña solo se recarga la pagina, ya cheque si era error mio pero no es asi.

Hago uso de esta función de PHP para pedir los datos mediante POST:

$username = $wpdb->escape($_REQUEST['l-user']);
$password = $wpdb->escape($_REQUEST['l-pass']); 

¿Eso esta prohibido?
Espero y puedan ayudarme. De antemano muchas gracias.


#2

@akhilkumar332 any ideas?


#3

Hi @laitochris
Try using this

wp_signon( string $username, string $password, string $deprecated = ‘’ )

It might help


#4

Lo siento el error aun persiste :frowning:

voy a pegar todo el codigo que ocupo para hacer el login.

  if($_POST) {

global $wpdb;

$username = $wpdb->escape($_REQUEST['l-user']);
$password = $wpdb->escape($_REQUEST['l-pass']);
$remember = $wpdb->escape($_REQUEST['l-rem']);

if($username=="" or $password==""){$error = "No puedes dejar nada en blanco";}

if($remember == "true") {$remember = true;}
else {$remember = false;}

$login = array(
  
  'user_login' => $username,
  'user_password' => $password,
  'remember' => $remember
  
  );
  
  $usuario = wp_signon($login); 
  
  if ( is_wp_error($usuario) ) {$error = $usuario->get_error_message();}
  else {
			wp_set_current_user( $usuario->ID, $username );
			do_action('set_current_user');

			header("Location: " . home_url());

	  }
}

#5

Muchas gracias por la ayuda, ya encontre la solución a mi problema. Les dejo el procedimiento de como lo arregle por si alguien mas llegara a tenerlo.

SOLUCIÓN

1.- Ir a tu “file manager”.
2.- abrir la carpeta “wp_includes”.
3.- Buscar el archivo “Pluggable.php” y abrirlo (Este es una parte del corazón de wordpress tengan mucho cuidado de no mover nada mas).
4.- aparecera algo parecido:

<?php
/**
* These functions can be replaced via plugins. If plugins do not redefine these
* functions, then these will be used instead.
*
* @package WordPress
*/

5.- Le dan un espacio a “<?php” y añaden la siguiente linea ob_start(); con lo cual quedaria mas o menos asi:

<?php
ob_start();
/**
* These functions can be replaced via plugins. If plugins do not redefine these
* functions, then these will be used instead.
*
* @package WordPress
*/

6.- Guardas y listo. :grin:
Happy codding a todos!!!


#6

@laitochris I’m glad you fixed it yourself.
If you’ve any other issues, do post or PM any staff member. :slight_smile:


#7