Articles

Category Archives — Articles

My opinions on software development, web design, music and life in general. You’ll find some code snippets and useful tips about working with WordPress too.

Entendiendo la Programación Orientada a Eventos

Un primer paso muy recomendable para empezar a entender cómo funciona WordPress a nivel código, independientemente de si trabajamos con plugins o themes, es conocer el paradigma de programación orientada a eventos, ya que en él se basan la mayoría de las posibilidades de extensión que tenemos disponibles. Es importantísimo conocer este paradigma a la hora de interactuar con el código de WordPress, ya que desconocerlo puede llevar a muchísimo trabajo innecesario, o a mucho tiempo perdido en mantenimiento, mejoras y arreglo de bugs.

Read more

Useful Articles for Developers

This is sort of a compilation of articles I ran into over the last week. I think they can be useful for both myself and other developers, either doing WordPress-related work or not. Some of them are very technical, while others just share personal experiences, and the rest fall in the middle.

Read more

Psicología del Programador: Conociéndose a Sí Mismo

Todos los desarrolladores alguna vez estuvieron muy entusiasmados por empezar un nuevo proyecto determinado. Les parecía muy emocionante, y les representaba un desafío que estaban ansiosos por encarar. Pero a muchos les pasó algo que también es bastante común: a medida que el proyecto avanzaba (o no avanzaba) se encontraron con que se sentían cada vez más desmotivados, con que perdían las ganas, y con que ese proyecto que tanto les interesaba al principio se terminó convirtiendo en una carga. El trabajo se extendió, imprevisiblemente, por meses, incluso por años. Hasta que un día decidieron abandonarlo, o lo terminaron con una calidad que no los conformó. O sí los conformó, pero ya estaban tan alejados emocionalmente que perdieron esa satisfacción que da un trabajo bien hecho.

Este post va a tener como punto central una pregunta: ¿hasta qué punto nosotros mismos, como desarrolladores, somos responsables de que nos pase esto?

Read more

Programar no es (tan) complicado

Aprender a programar no es exactamente fácil, pero tampoco es lo más difícil del mundo. La dificultad no tiene tanto que ver con entender la sintaxis de un lenguaje, o los conceptos básicos de la programación en general, sino con aprender a manejar distintos problemas que van a ser encontrados de forma inevitable mientras escribamos código. La sintaxis y los conceptos básicos son cosas muy sencillas y que resultan incluso muy intuitivas, porque en general tienen que ver con la vida cotidiana de cualquier persona que haya aprendido a leer y escribir, sin importar demasiado qué tan bien lea o escriba.

Read more

How to make public methods and functions private when used as hooks

If you worked for even just a little while with WordPress, then you must know by now that action and filter hooks are the cornerstone of its extensibility. Through the Plugin API, and using functions such as add_action(), do_action(), add_filter() and apply_filters() we can build almost any thing we can think of on top of the core, often in the form of plugins and themes, but there are still problems that can appear when we implement them.

Read more

How to Avoid Redeclaring Inline Styles for WordPress Customizer

My first publicly released theme, Follet (the one that powers this site right now), features my also first experiments working with the Customizer. This API offers a great way to see modifications to a theme in real time without actually having to apply those changes to the live site, and a large number of articles have been written about its benefits. What I learned while working on Follet was that sometimes is pretty difficult to manage some styling modifications for the customizable areas of the theme, and I particularly had a really nasty time with colours. However, I think I finally could solve that in an acceptably elegant way.

Read more

WordPress Meetup Buenos Aires: Herramientas del Desarrollador Moderno

En el marco de las meetups mensuales que organizamos con los muchachos de WP Argentina, este pasado martes 3 de marzo estuve dando una charla sobre herramientas para desarrollo profesional orientado a WordPress. El evento fue en el Centro Cultural San Martín, un lugar muy pero muy representativo de la Ciudad de Buenos Aires, y la verdad que me llevé un balance muy positivo de toda la reunión, tanto por lo que significa estar presentando algo ahí, como por la charla, el feedback de la gente que vino y el rato que pasamos con los que se animaron a venir a tomarse unas cervezas con nosotros cuando salimos.

Además de mi charla, también contamos con la participación de Juan Francisco Garabato, dando una introducción a WooCommerce, y Serafín Danessa, quien nos habló del WordCamp que se viene en Buenos Aires para fines de mayo. Pueden ver los videos de sus presentaciones acá.

Un millón de gracias a todos los que vinieron, y a toda la gente de WP Argentina por la organización.

A continuación, la sinopsis y el video de mi charla y los slides de la presentación.

Read more

Correctly Obtain the Path to the WordPress Admin Directory

WordPress comes with a lot of handy tools that let you have URLs and paths to some folders without having to hardcode them, such as the content_url() and get_stylesheet_directory() functions for the URL to your content folder and the absolute path to your current theme folder, repectively. You can see a list of all these functions in the Codex.

However, if we search for some function to retrieve the absolute path of the admin folder, we’re lost. We have admin_url(), get_admin_url(), network_admin_url() and get_network_admin_url() but those only gives us URLs, not paths. Our only answer is to create our own function.

Here’s How You Do It

Of course you can use something like ABSPATH . '/wp-admin', but that doesn’t offer any guarantees in case the admin folder were to be renamed at some point, let’s say manually, by a plugin, or with some rewrite rule. There’s a lot of ways thing can go wrong using that method, especially if you’re distributing your code.

What I suggest as a more proper solution is to create a function like this inside your plugin or theme:

What we’re doing here is replacing the base URL of our site with the ABSPATH constant, which contains the full path to the root folder of your WordPress installation, thus leaving the /wp-admin part (or whatever it’s called) intact. We obtain the name of the admin folder dynamically, without the need to hardcode it at any point.

You can also get the path for the network admin by just replacing the call to get_admin_url() with get_network_admin_url().

Hope this helps 🙂

Read more

How to Efficiently Flush Rewrite Rules After Plugin Activation

Recently, I’ve been working in a WordPress plugin that adds a custom post type. That’s not a novelty, we’ve all done that before. However, we usually need to flush our rewrite rules after registering the custom post type in order to prevent permalinks from not working properly, but we don’t always do this in a thoughtful way.

A lot of developers just tend to call the flush_rewrite_rules() function right after register_post_type(), without any kind of security check. The thing is, as the Codex article notices, this is an expensive operation that may use a lot of resources, so we don’t want to have it running all the time. Just once, after the custom post type gets registered, is more than enough.

Read more

Martes 26 de Agosto: Nueva Meetup en Buenos Aires

En el marco de esto que se viene tratando de armar hace ya casi un año y medio, es decir una comunidad dedicada a WordPress en Argentina, y después de las dos exitosas Meetups por el festejo de los diez y once años de la plataforma, finalmente vamos a estar presentando nuestro primer evento semi-formal, a manera de introducción y presentación a un público general a lo que estamos tratando de hacer.

El evento va a constar de dos charlas introductorias y correlativas. La primera, a cargo de Juanfra Aldasoro, coworker de quien escribe y fundador de NiceThemes, va a consistir en un repaso por la historia de WordPress, viendo de qué manera llegó a convertirse en la herramienta con la que están construídos alrededor del 20% de los sitios web, y la importancia de cosas como el open source, GPL y la comunidad para que esto sucediera.

La segunda charla va a ser dictada por mí, y vamos a hablar de las distintas cosas que se pueden lograr con WordPress, cómo extender y saber separar funcionalidad y presentación, y de qué manera construir un entorno de desarrollo profesional que nos permita trabajar de la manera más rápida y eficiente posible, sin importar si uno se dedica a diseño, programación, maquetado, blogging o management.

La cita es el día martes 26 de agosto, a partir de las 19.30 hs. en Areatres Labs. La entrada es gratuita y al finalizar las charlas vamos a continuar con el encuentro de manera totalmente informal en medio de pizzas y cervezas.

El RSVP al evento se puede hacer acá. Nos vemos ahí 🙂

Read more