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

[finalpost]

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

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