Permitir PHP en widgets de WordPress

Hoy vamos a crear un código para permitir la ejecución de PHP en widgets.

Esto es algo peligroso y sólo es recomendable en determinadas ocasiones y, sobre todo, si no se tienen usuarios con acceso al backend que puedan manipular los widgets.
Definimos la función en el archivo functions.php del tema que estemos creando o del Child-Theme si es un tema comprado:

function execute_php($html){
     if(strpos($html,"<"."?php")!==false){
		 // Iniciamos el buffer
          ob_start();
          eval("?".">".$html);
		 // Extraemos el resultado del buffer y lo guardamos en una variable
          $html=ob_get_contents();
		 // Limpiamos el buffer
          ob_end_clean();
     }
	// Devolvemos el resultado del buffer almacenado en la variable
     return $html;
}

Después «enganchamos» dicha función al hook 'widget_text' para que permita su ejecución en los widgets con un 'add_filter'.

add_filter('widget_text','execute_php',100);

Ahora interpretará las etiquetas de PHP como lo que son y podrás ejecutar código PHP en tus widgets

Pues eso es todo en esta entrada. Espero que la pongáis en práctica y recordad: Sólo se aprende rompiendo y destripando el código. ¡Practica!.

Compartidlo si lo veis útil.

Deje un Comentario

*Campos obligatorios Por favor valide los campos obligatorios

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.