Ejecutar código PHP en widgets de texto de WordPress

Antes de nada decir que la función eval() que se utiliza en el código que se va a presentar no está permitida en wordpress.org, por lo que si estáis desarrollando un tema para subirlo a su repositorio no debéis utilizarlo ya que el tema no será aprobado. En cualquier caso, es posible que para proyectos personales os pueda servir en algún momento, por lo que ahí va el código que deberéis poner en el archivo functions.php de vuestro tema:

<?php
add_filter('widget_text','galusso_php_widget',100);

function galusso_php_widget($html){
    if(strpos($html,"<"."?php")!== false){
        ob_start();
        eval("?".">".$html);
        $html = ob_get_contents();
        ob_end_clean();
    }
    return $html;
}
?>




Leave a Reply

Your email address will not be published. Required fields are marked *