Git and GitHub for SVN developers

My latest post on contribution tips I learned from scribu was mostly influenced by his work on GitHub on projects such as WP-CLI or wp-posts-to-posts, and his setup over there. I also had a few related contribution-related posts before than (and several more to come in the next few months). Ajay commented on one of them asking for some tips for migrating his work to GitHub (while he has numerous plugins on WordPress.org now). I'll post some of my favorite links I send to fellow colleagues starting with Git. My first SVN-revisioned work was in 2006 and I started working with Git… Continue Reading

5 WordPress Contribution Tips Learned from Scribu

If you have used WordPress for at least a few months, you have probably used a plugin by scribu or at least heard a discussion over one of the tools or plugins he is involved with. Recently Cristi (scribu) announced his "retirement" from the WordPress industry and he's currently involved in just a few projects, mostly WP-CLI (which involves mostly some custom PHP, server-related tasks and playing with cool stuff such as Travis, Composer, Behat). However, I've been monitoring his work on the WordPress Core and his plugins over the Trac/support forums/GitHub and I am happy to outline my top 5… Continue Reading

Contributing Together

Recently I've been spending a lot of time poking others' projects. Since I have more time than I had while working full-time for an employer, I'm polishing more of my snippets and I've been busy with small enhancements that couldn't find a place in my long list before. Additionally, I find myself sending more pull request than before and requesting from plugin authors to clone their WordPress.org project to GitHub as well for collaboration: https://twitter.com/no_fear_inc/status/377052160518672384 As a developer, I'm tempted by reinventing the wheel and releasing something on my own. But I try to be practical and I often browse… Continue Reading

WordPress IRC Chats Schedule

Since I tend to forget when most WordPress dev chats are or pick wrong time zones instead, I set up a small weekly schedule with weekly IRC chats: http://devwp.eu/chats/ I got the schedules from the Make blogs and listed them with custom post type entries in a calendar. The handy thing is that one can control the timezone listing with a UTC-relative GET argument (also, few time zones are listed at the top of the calendar that switch that automatically). For example, what I use in Bulgaria is http://devwp.eu/chats/?utc=+3 which triggers the events shifted towards my timing instead of UTC. Even though I… Continue Reading

WordPress Product Marketing – the Right Way

I browse and read a lot (articles, code) on a daily basis, I tend to forget quickly due to the tons of data that passes through my head (I normally have about 5 windows with 20 Chrome tabs open each). I read a great post by Brian Krogsgard on marketing WordPress products on Wed and I finally had the time to write a quick review. It's a great resource. It's definitely a post to be read by everyone who is building (or has already built) a product or a service that needs attention from users. And by definition this should be every… Continue Reading

Weekly Company Fee for Contributions

I just saw a great initiative that I simply had to share. Full disclosure, never met the guy nor seen the site that launched this one, but here it is the idea. Alex Pott signed up for weekly contributions for Drupal. I found that through a tweet by Robert Douglass, a great team Drupal guy: https://twitter.com/robertDouglass/status/366176381685608449 You know, the contributing discussions around the WordPress core are quite popular and even intense at times, particularly due to several reasons: it requires a significant amount of time to get into the project history and infrastructure it takes a while to to get… Continue Reading

On WordPress and Release Cycles

The annual State of the Word session by Matt covers the latest updates on the platform - usage, coming updates and new features from the past year and other valuable stats so that WordPress experts could see their place on the map and see if there are any business decisions to be taken for the next few months (or a year). The platform/application direction makes sense for the next level of growth for the WordPress platform. Matt had a great slide for the structure and architecture of WordPress as a framework for building various components and extend in the future: [tweet… Continue Reading

Wrong in many ways

I'm occasionally working on building plugin bridges or integrating some third party APIs on WordPress. Just as often I struggle with unmaintainable code. Seems like too many people have read the "How To Write Unmaintainable Code" article so I'd better elaborate on this one. Today I've been working on a project using a plugin for various WordPress components, one of them being a search form. I've always had a thing about search forms, as being too general as a concept and too vague at all - you will always get to the point that you need another field to search… Continue Reading

Deleting WordPress records based on Nested Selects

Last week I was helping with a task for deleting terms from the WordPress database based on an array of IDs from a select statement. Since I have a thing for database systems (spent a few years playing in various mid-size and large projects with Oracle and PostgreSQL databases before migrating to MySQL) I thought it was a 20sec job to build the query having the select ready and delete the data. However, I got stuck in the process and took me about 15min to actually form the proper statement. The final code looks like that (with a bit different… Continue Reading

WordPress redirection based on URL

We've been working here on a URL shortener as a part of another project. To avoid the server redirect rules and so, we verify against the database whether a slug exists (is already entered in the DB) and if so, we get the URL and redirect to the page. As a fan of the request filter, I'd go with this approach: [php] function dx_redirector_request_filter( $request ) { // check for request['name'], for instance for // somewpsite.com/some-slug $request['name'] // would be some-slug if( ! empty( $request['name'] ) ) { // verify against the database entries // redirect accordingly, this is a… Continue Reading