Cómo reparar wp_redirect cuando no funciona

Cómo reparar wp_redirect cuando no funciona

Como sabes, he desarrollado muchísimos sitios web con WordPress ya que es un CMS (content management system) muy fácil de usar y es ideal para programar funcionalidades personalizadas según las necesidades de cada cliente. Hace poco, estuve desarrollando un plugin y me encuentro que wp_redirect está teniendo un comportamiento inesperado y si te ha pasado este problema antes, acá te explico cómo reparar wp_redirect cuando no funciona.

WordPress sin duda es muy poderoso y el líder absoluto a nivel mundial para la creación de sitios web, pero cuando queremos ir más allá, puede ser que algunas cosas no funcionan como esperamos o necesitamos ajustar nuestro código recurriendo a algunos trucos.

wp_redirect es una función nativa de wordpress que nos permite redireccionar a otra página. En la documentación podemos encontrar la definición de los parámetros que recibe esta función.

Sólo el primer argumento es requerido y es la URL a donde queremos redireccionar la respuesta que vamos a visualizar.

El problema es que la función wp_redirect() no detiene la ejecución automáticamente sino que una vez llamada, sino que continúa la ejecución normal del script. Para solucionar esto debemos agregar el llamado a exit;justo después de llamar a wp_redirect(), de esta manera podemos detener la ejecución del script y esperar la respuesta de la función wp_redirect.

Veamos un poco cómo vamos a usar wp_redirect, y cómo debemos inmediatamente usar exit

Es un poco extraño pensar que la ejecución se va a mantener en curso pero así sucede. Si tienes problemas utilizando esta u otras funciones no dudes en escribirme y te daré una mano.

¡Hasta un próximo post!

No puedo ejecutar PHP usando shell_exec

Experimentando un poco con WP-CLI, el cual esta excelente para administrar sitios wp desde la consola veo que no tienen aun soporte REST, por ello buscando soluciones finalmente opté por correr desde un script .php esos comandos usando shell_exec.

A medida que voy probando me doy cuenta que no funciona al correr

Luego de tanto investigar encuentro que se debe usar php-cli debido a que cuando se intenta llamar a php desde el navegador, debemos usar php-cli y no php solo. Finalmente la solución fue usar:

Es una solución muy sencilla pero que toma muchas horas conseguir la solución. Espero pueda ayudarte a reducir horas de investigación.

¡Hasta un próximo post!

Nuevo Theme para Febrero 2016

Theme para Febrero

Este blog comenzó como una recopilación de aprendizajes a lo largo de mi carrera profesional, compartiendo cada experiencia vivida, celebrando las cosas buenas y como las que no han sido tan buenas también. Muchos themes han ido y venido, la mayoría no han sido mis favoritos y es hora de cambiar las cosas, por eso he decidido que debo tener un nuevo theme para febrero 2016.

Ya en publicaciones anteriores había comentado que estoy buscando un nuevo theme para mi website, el que estaba nunca me gustó del todo, pero había que salir con algo, aplicando la teoría del Producto mínimo viable
(MVP) nos dice que:

Un producto mínimo viable tiene sólo las características básicas suficientes para lanzar el producto, y no más.

Y por eso decidí comenzar con lo que tenía para ese entonces, pero desde hace un tiempo para acá he seguido de cerca lo fácil que es leer en medium.com por su estilo de diseño, fuente, facilidad de lectura y muchas cosas más, me inspiró a cambiar de theme.

Luego de tanto buscar finalmente me decidí a probar este theme (que está instalado actualmente), pensando que sería solo el nuevo Theme para Febrero 2016, vamos a ver cómo influye esto en visitas, calidad del contenido, comentarios y todo el feedback de todos los lectores, ustedes serán los primeros influenciadores para mantener este Theme o si busco otro para marzo. WOW ya vamos para marzo…

Bueno, espero que les guste este cambio de diseño en el blog, yo lo estoy disfrutando un montón.

¡Hasta un próximo post!

Como buscar un nombre de usuario en wp_user

Buscando en la tabla principal WP_User_Query

Si quieres buscar a un usuario por una palabra clave en su user_email, debes hacer lo siguiente:

Ten en mente que * es una wildcard. Por ejemplo, para obtener el user_email de un dominio en particular (*@example.com)

El campo de busqueda tiene unas magicas caracteristicas como search_columns:

Todos estas características se añaden automaticamente si no especificas los que necesitas en search_columns.

Buscando en la tabla wp_usermeta

Si tu quieres buscar por first_name o last_name, entonces tienes que usar las opciones de meta_query donde se encuentra la informacion extra que no forma parte de la tabla principal.

Asegurate que estas trayendo el parametro de busqueda correcto. Y asegurate de escapar correctamente los caracteres especiales.

Ahora armando todo lo que tenemos

El snippet de como una búsqueda completa de un usuario:

Si tienes dudas o comentarios escríbeme.

¡Hasta un próximo post!

Como obtener posts desde multiples categorias

 

Para esta oportunidad voy a mostrar como obtener posts desde múltiples categorías usando get_posts()

La solución es sumamente sencilla, conociendo los IDs de las categorías, podrías agregar esto a functions.php y tener un recurso disponible en todo tu website.

Cualquier duda o apoyo que necesites puedes escribirme tu comentario.

¡Hasta un próximo post!

 

Añadir archivos CSS o JS en wp-admin

Añadir uno o varios archivos CSS o JS en wp-admin generalmente es necesario cuando estamos programando un plugin que tiene un panel de configuración en el wp-admin.

Hay diferentes formas de hacerlo, en este post vamos a ver la forma mas fácil y rápida de hacerlo.

Aquí tienes una función de ejemplo que puedes usar:

También puedes chequear la documentación de WordPress Codex para ver mas opciones.
Si tienes alguna pregunta o necesitas ayuda puedes dejar tu comentario o contactarme para darte una mano.

¡Hasta un próximo post!

Theme X Responsive CSS Classes

Actualmente estoy trabajando con este Premium Theme llamado Theme X, es una excelente opción ya que trae plugins que te hace mas sencillo la creación de sitios web en wordpress, pero no todo es color de rosa. Cuando tienes que hacer ajustes para responsive tienes que acceder mas allá e investigar un poco mas.

En este caso hablamos de las classes que maneja el CSS Responsive del Theme X.

Cualquier duda deja tu comentario.

¡Hasta la próxima!

htaccess wp-admin 302 redirect loop

.htaccess wp-admin 302 redirect loop

htaccess wp-admin 302 redirect loop sucede cuando decides proteger tu carpeta /wp-admin/ usando .htaccess y colocas algo similar a:

Cuando haces eso, vas a tener un error de 302 (Moved Temporarily) . 

htaccess wp-admin 302 redirect loop. OMG A NO DONDE ME METí!!

No te preocupes, la solución es más sencilla de lo que parece.

Si decides borrar el archivo /wp-admin/.htaccess, la redirección se mantendrá aun.

Depende de la configuración que tengas en apache (para mi funcionó) debes añadir al final de /wp-admin/.htaccess

Espero te ayude tanto como a mi…

WP htaccess mejorado

wp htaccess

Hay casos donde no se ven los archivos de wp-includes o wp-admin, otras veces por error borraste el WP htaccess o lo perdiste.

Aquí tienes un WP htaccess mejorado!