English

Category Archives — English

My posts written in English.

Follet Is Now Available Through the WordPress Themes Directory

Well, the wait was worth it, and finally Follet can be downloaded from the WordPress Themes Directory. The guys in the Theme Review team do an awesome job by giving advice on how to improve your theme, which is very useful not only for the directory, but to improve the overall quality of your work too.

Downloads are doing pretty good, and some people gave me very positive feedback about the theme. I’m very glad and thankful for all of that, so I hope to start seeing Follet installed in some websites soon. Right now I’m looking forward to version 1.1, which will correct some glitches and present some new useful features. Also, pretty soon there will be some little tutorials on how to take advantage of all the hidden functionalities that Follet has built-in.

If you already tried Follet, thank you 🙂 And in case you don’t know what I’m talking about, you can download Follet from the theme directory here, or see the demo site here.

Read more

Some Thoughts On Writing Accessible Code

A couple of days ago I was reading an interview with Kate Swaffer, a very popular blogger who suffers dementia (you can check her blog here, it’s really good!). That interview led me to think about a number of things we left aside in our daily work that could push people away from it, or make an approach really hard. Sometimes we choose to do that and sometimes we’re just ignorant.

Sometimes our website is not well prepared for screen readers, or is not crossbrowser. Maybe our CSS doesn’t have line-breaks, or our Javascript is minified without leaving the source at hand. We may often prefer using our time to write more code instead of documenting what we already have. Perhaps we use a very technical language in our blog posts without a real need to do it. The admin of a community site may take decisions that favor a minority of users above others. I myself, being a native Spanish speaker, write most of my posts in English, maybe leaving behind some potential readers. There’s a ton of things we can do to push people away.

But we sure can’t contempt everyone, right? Doing that would be like an impossible dream. People is different from each other, and that’s what makes the world keep running, for right or wrong. But I do think we can know our public, or at least we can try to do it. And I also think the same can be applied to programmers, because the fact that our work is not so evident for the final users doesn’t mean that we don’t need to be accesible for each other.

Read more

How to Deal with Users Being Automatically Generated by WP e-Commerce

In the last four months there was a lot of discussion about some decisions made by the developers of the famous shopping cart plugin WP e-Commerce. I think that discussion would not have exist if there were no users affected by the decisions that originated it. It is to be noted that version 3.8.14, the most recent release of WP e-Commerce, is supposed to definitely fix the issue, but I’m sure there will be a lot of people not putting the plugins on their sites up to date, and there can appear some possible issues with backward compatibility that need to be solved. That’s what this article is meant to.

You can read the first page of the thread if your interested in the technical implications, but basically, since version 3.8.13, WP e-Commerce saves the session data of anonymous customers into the wp_users and wp_usermeta tables, instead of doing it into transients, as was formerly done and other shopping cart solutions, such as WooCommerce, still do. This means that every time a non-registered visitor enters your site a new user will be created and some meta data for that user will be stored. So, if your site gets a lot of visitors, your database will be populated with lots of dummy users in a considerably short time. There is a scheduled task meant to remove this users hourly, but it doesn’t work quite well in some server configurations, so there will be sites where the tables won’t ever be automatically cleaned, with databases growing uncontrollably larger and larger in just a matter of days. That’s not something that any capable developer or site owner wants for his website.

So let me stop here for a minute. I’m not in the train of detractors of this practice. I don’t think it is ideal, but I do think there is a really good reason to do things this way and not another. I’m not that into discussing things that were already done as I am for trying to fix what’s wrong with them. There has been a lot of hate comments, ranting and whining in the thread I linked at the beginning, and I’m pretty sure that’s not the way to solve things, and don’t have me start on the kind of motivation that a programmer finds to get something fixed when he or his product is being attacked. So please, if you need some software to be fixed, be nice and friendly to your programmer. Otherwise, either he won’t do it well or will just walk away from you.

Now let’s get into the problem. This is not exactly a tutorial, so if you’re looking for a copy & paste kind of solution, you’re not gonna find it here. If you have this problem, the solution will depend on your specific server configuration, so you may need to do some modifications to the examples of code I’m gonna provide here.

Read more

How to Remove Yoast’s Google Analytics Warning in Network Admin

First of all, I admit I may be missing something here, but this issue annoys me big time, and I’m sure some people will feel the same.

So, what’s the deal? Well, I’ve been using Google Analytics for WordPress for quite a lot of time now in many installations, some of which are multisites. I love this plugin and all its functionality, and I wouldn’t change it for another one in most of the sites I run. But every time I download and install it in a multisite environment, I keep seeing a notice which reads “Google Analytics is not active. You must select which Analytics Profile to track before it can work”.

Some of you may say “why don’t you just set your Analytics Profile and stop whining?”. Well, I’d wish it was that easy. And that’s because, for some of this multisite installations, the main site is just an internal hub that will be hidden from the public, and doesn’t need to have an analytics profile set up.

Read more

Workflow Improvements: An Introduction to Automatic Deployment

If you develop websites using WordPress professionally (basically, if you make a living out of it or a significant part of your income comes from there), and you haven’t implemented yet an automatic deployment system, you should strongly consider doing it. Being sincere, it’s not the easiest thing in the world. In fact, both the process and the learning curve will take a lot of working hours out of you, all spent in fruitless tests and dealing with communication between servers. The good thing is that you can take advantage of a lot of resources based on the work of people who lost some sleep hours in exchange of putting a complete deployment system in practice before you have to create a totally new one. There even exist some tools specially designed for WordPress that can be really useful to you.

Read more

The Follet Theme Was Sent for Revision

I’m pretty excited to tell you all that my latest project, Follet, was sent for revision to the WordPress Theme Directory yesterday. I’m really looking forward to have it featured there, since it took me a couple of months of hard work, trying to follow all the best practices I could and all the guidelines from the Theme Review team. I also had to make a lot of decisions about features being there, not being there, or being hidden. The design process took a significant amount of time too, in my attempts to make it look modern, clean and customizable at the same time.

It will sure take some more work, based on the corrections and suggestions from the guys in the Theme Review team, but I’m willing to do that too. I’m sure I will learn a lot from this 🙂

So, I will be posting here again when/if Follet gets approved. In the meantime, you can check its demo, or take a look at the code and star it in Github.

Read more

Make WordPress Stop Sending E-Mails When Working Locally

Let’s suppose you have a website with an e-commerce plugin.  A user comes in, buys a product and goes fine through the checkout process, but when the site tries to redirect the user to the third-party gateway where he wants to pay, something goes wrong. The redirect goes to a 404 page or never gets done. And that only happens with that single costumer. All the other costumers who bought that same product from your site did it without an itch. Whatever the problem is, you need to debug locally to find the source of it.

So now you need to replicate the process in your local mirror of the production site. You click the “buy now” button in the product page, then go to the checkout page and fill the form with the very same values that the user has previously entered. You click “confirm purchase”, and then notice the error through your favourite Javascript profiler: the email of the user customer has a character that your validator doesn’t like, so you need to improve it, but somehow the form was sent either way instead of prompting the user to re-enter his email, and you need to fix that too.

A couple of minutes later, while you’re fixing your code, you receive a phone call from the customer, who says that he received a second purchase confirmation email for an operation he did not perform. Then you have to explain to him that you were working on the issue that he reported earlier, and he understands but insists on the fact that he was bothered for a second time (the first one being his impossibility to pay) and that you should be a little bit more professional. And he is right. Now let’s suppose that this email thing happens often, and that you even lost sales because of this. The same can be applied to other scenarios regarding emails being sent, such as creation of testing users, or posting test contents to a blog with a lot of suscribers that should be notified of new posts by email. I’m sure you don’t want this. I really don’t for sure.

Read more

It Begins, or Just Another Blog of a Guy Who Works with WordPress

Hey yo.

This is gonna be mainly a personal blog. And when I say personal, I really mean personal. It is not my intention to try and put a limit on the kind of things I publish here, since I have a lot of interests, but you’ll find some pattern on me talking about my work. That’s the main reason of this site, but not the only one, so you may see a lot of posts on the subject of my WordPress-related projects, web, and programming in general, but also some others about music and life and how to live it. And that’s because I can’t really see or make a separation between my work and the rest of my life (is that ever possible?).

You may have realize by now that, since the majority of the elements of this site (posts, pages, navigation areas, etc.) are written in English, some of the contents are plain Spanish. That’s my mother language, and regardless the public I’m pointing to with this blog are English speakers or bilingual people who just happen to read English, some of my posts are and will be related to Spanish in some sort of inseparable way, often because some cultural reasons that would not make my whole point if they were not written in Spanish. I’m not gonna offer translations unless it is really necessary, because I believe that translations, most of the time, are not always accurate to present the original meaning of what one has to say, and that sense of intimacy that you get with your readers in the original language becomes lost in translations. Also, I would like to contribute to some cultural trade-off in the WordPress community between English and Spanish developers, because I think that we all have a lot to learn from each other.

So I’ll try to keep some order in the unavoidable mess this will become, looking forward for you to keep visiting and find something useful here 🙂

Read more

How to Use Different Plugins for Local, Testing and Production Stages

There comes a time in the life of a WordPress developer, no matter what his/her experience is, when he/she needs to run some plugins only in a local environment. Such cases could be related to plugins meant for testing, importing, deleting data, etc. I think you get the idea: I’m talking about any plugins that are not meant for a live site. The problem here is, given the fact that you need those plugins for your development cycle, how can you keep them from being active when you deploy your site to a production stage? And there’s another important question about this: Do you even need those plugins to be uploaded to your live site?

Yeah, sure you can manually deactivate those plugins once the site goes to production, but what if you need to do some maintenance? Let’s say you pull the remote database to your local stage in order to continue your local work after a deploy. Then you need to manually activate your development plugins again. And let’s suppose you finish your work by now and update your live site with your local changes, including a possibly modified database. Then your development plugins get activated again, so you need to manually deactivate them once more. And now let’s say you do all of this at least once a week, and that you also have a testing server. That’s a whole bunch of time that you’re losing in repetitive tasks. You could use that time to read some XKCD, or learning to dance Gangnam Style.

Well, there’s a couple of things you can do to solve this issue.

Read more

How to Automatically Activate Jetpack Modules

If you, the like me, use Jetpack cheap jerseys for Inspiration a lot of sites (for Iniciando example, in a multisite or some complex installations), you probably need to have some modules always active for all your sites. It would be awesome cheap jerseys online if you could just have those modules active cheap jerseys without having to do it manually once you have activated the plugin, right? Well, you 2011 can do it.

Read more