Category Archives: WordPress

UploadPlus dev plan

I’m working on the new 3.3 branch of UploadPlus, which is going to be released alongside WordPress 3.6; given its delay I’m trying to fix a lot of things, as well as adding new features:

  • Internationalization – when I’ll find translators, of course 🙂
  • Transliteration (non-latin to ASCII), now with arabic support!
  • random filenames
  • EXIF data in filenames (props  Jonas Lundman alongside many other things)

Work in progress will head to multisite support – Site Admins will have the ability to enforce a given ruleset on the whole network – as well as other customization options.

If you like you can follow development, open issues and help with documentation and translation on <a href=””>GitHub</a&gt;.

Abandoned WordPress plugins

One of the biggest problems in the WordPress community are abandoned plugins. This is a real issue for WordPress users as well as administrators, sometimes even for authors and developers as well.

(Disclaimer: I feel guilty on my own: my first two open source plugins were so badly coded that I couldn’t fix them; users switched, I though I learned a lot from this mistake. Wrong. Years later I forked another abandoned plugin, then I become mantainer of the original one, then I was stuck again, couldn’t find help any way and had to abandon the plugin after its creator, leaving it unmantained. I think I know the problem inside out.)

In the past there was some private effort to deal with this, like the WP Recycle program from PluginChief, but it didn’t gain a lot of feedback from both end users and developers and it quietly shut down. (I’m sure to have read an interview with a PluginChief guy about the project’s EOL but I can’t find it anywhere).

As a developer myself I feel plugins and themes are sometimes difficult to mantain and support: authors and developers may lack the knowledge required to fix (or even identify) some bugs, while cooperation and reciprocal support between projects is a rare thing.

Lack of satisfaction and motivation is also another common cause: authors may feel “slave” of their open source plugins because they are supposed to provide free lifetime support while – at the same time – they may have their own issues in their personal life, or they are having hard times making a living out their freelance work (something I experienced on my own. both. twice.)

I feel that the WordPress community is lacking a couple of tools that would make plugin and theme authors’ life really easier.

First one is a dedicated online place (being it a forum, a list or whatever) to share coding best practices as well as to ask for help, exchange coding for graphics work or look for a new mantainer. This should be an official community effort (aka: in the realm) and should complement the tools already deployed – like the wp-hackers list – in a clear web interface. I would really love something like that.

The last tool I think we’re lacking is a sort of “open source marketplace”, based on a simple and proven concept like Flattr. Let’s call it “WP Karma” 🙂 I’d like to think an easy process to support open source developer: let users define their monthly contribution, divide it by *installed* plugins and themes, count each plugin/theme days of activation and give each plugin/theme author it’s own.

I feel those tools would really empower and strengthen the community as a whole. I’d love to help build it but not on my own, so I’ll try to spread these concepts in the WP community, let’s see what happen.

(aside: I’m trying to get used again to english writing after a long time, fix and suggestions are welcome! )

WordPress 3.6 shortcode atts filter

better integrate it into page2cat ASAP…

Mark on WordPress

Since WordPress 3.6 is in beta, I thought I’d use this nearly-abandoned blog (hey, been busy working on WordPress!) to talk about some of the cool stuff for developers. For the first installment, check out the new shortcode_atts_{$shortcode} filter. The shortcode_atts() function now accepts a third parameter — the name of the shortcode — which enables the running of this filter. All of the core shortcodes now pass this parameter.

This filter passes three things:

  1. $out — the output array of shortcode attributes
  2. $pairs — the array of accepted parameters and their defaults.
  3. $atts — the input array of shortcode attributes

Let’s look at what we can do with this. One thing is that you can dynamically set or override shortcode values. You an also define new ones, and transpose them into accepted ones. Let’s look at the “gallery” shortcode for example. What if there was a gallery of images…

View original post 136 more words

Fragment Caching in WordPress

Mark on WordPress

Fragment caching is useful for caching HTML snippets that are expensive to generate and exist in multiple places on your site. It’s like full page HTML caching, but more granular, and it speeds up dynamic views.

I’ve been using this fragment caching class for a few years now. I optimized it around ease of implementation. I wanted, as much as possible, to be able to identify a slow HTML-outputting block of code, and just wrap this code around it without having to refactor anything about the code inside.

Implementation is pretty easy, and you can reference the comment at the start of the code for that. The only thing to consider is that any variables that alter the output need to be build into the key. It should also be noted that this code assumes you have a persistent object cache backend.

View original post