Si queremos añadir Código PHP en widget texto sin Plugins, tenemos una solución; una pequeña modificación en nuestro archivo functions.php
Por suerte en WordPress tenemos infinidad de Plugin, pero como he mencionado en otras entradas, si podemos evitar tener una infinidad instalados mejor; tanto por tema de desactualización de los mismos o porque para realizar una tarea sencilla, instalamos algunos que hacen infinidad de funciones que igual no necesitamos.
A continuación propongo una solución para insertar código dentro de los Widgets, y conseguir así programar sobre los campos que disponen.
Esta publicación se compone de dos, esta primera, en la que explico el código que tenemos que introducir dentro del archivo functions.php y otra entrada en la que propongo un ejemplo para obtener la IP pública dentro de un Widget de texto y ponerla a disposición de nuestros lectores.
Al grano, la ubicación del archivo es:
.../.../wp-content/themes/nuestro_tema/functions.php
Como ya hemos comentado otras veces los puntos se refieren a nuestra ruta del dominio y nuestro_tema sería la carpeta del tema activo.
Y el código que vamos a introducir dentro del archivo functions.php es el que sigue:
//Ejecutar PHP en widgets de texto function ejecutar_php($html){ if(strpos($html,"<"."?php")!==false){ ob_start(); eval("?".">".$html); $html=ob_get_contents(); ob_end_clean(); } return $html; } add_filter('widget_text','ejecutar_php',100); //FIN Ejecutar PHP en widgets de texto
Recomiendo que antes de insertar el código dentro del archivo, se realice una copia de seguridad del archivo functions.php, ya que si cometemos el más mínimo error, perderemos el acceso total a nuestro portal, y nos veremos obligados a restablecer el archivo desde un administrador de archivos externo, bien por FTP o por la consola de administración del dominio.
Para no correr riesgos voy a poner un fragmento del archivo functions.php con el código insertado y que así no dudéis donde ubicarlo.
<?php //Ejecutar PHP en widgets de texto function ejecutar_php($html){ if(strpos($html,"<"."?php")!==false){ ob_start(); eval("?".">".$html); $html=ob_get_contents(); ob_end_clean(); } return $html; } add_filter('widget_text','ejecutar_php',100); ?> <?php /** * * HamronUX functions and definitions. * * The functions file is used to initialize everything in the theme. * It sets up the supported features, default actions and filters. * * * * @since HamronUX 1.0 */
Como se puede observar, he insertado el código justo debajo de:
<?php
Y así minimizar el riesgo de introducir en texto en una zona errónea.
Un saludo y hasta la próxima.
Pingback: Mostrar la IP Pública dentro del widget de texto