Welcome to Rise Forums

Join our fantastic community to connect with like-minded website owners, WordPress users, and online entrepreneurs.

WP plugin development suggestion

Discussion in 'WordPress Theme & Plugin Development' started by Sanjay Ojha, Jan 1, 2015.

Thread Status:
Not open for further replies.
  1. I am now focusing and diverting my development skill towards wordpress plugin and theme development from scratch.
    I am looking for some suggestion, specially from wordpress programmers (coders) of raiseforums members, the 2 names that pop up in my mind are @Boris Beo and @Kris Hoja , As per my knowledge I think they are programmer, pardon me if anyone else here is programmer or having skill in developing plugin as a programmer and I miss the name, you are also invited to give your suggestion.

    I want to follow best practices and will go with oop way. So whats are your suggestion ? I have started looking at codex and using wp plugin boilerplate to start developing plugins.
    I started with developing a ajax search plugin.
    What is the best way to master wordpress plugin development ?
    After finishing it I will move to theme development.

    Also, I am open to help anyone as volunteer in wordpress plugin development, provided I can learn from them.
     
  2. You should throw in @Rhys Wynne and @Thomas Hoefter into that group too :)

    It's funny you started a thread about this as I was thinking of doing the same. I had a little simple idea for a basic WordPress plugin. Would be interesting to develop it for my own blog and release it to the WordPress community.

    I have Vladimir Prelovac's beginner plugin development book. I only read the first few chapters after buying it. I am sure much of the book remains relevant, however it is nearly 6 years old now, therefore a lot of the content will be out of date.

    There are a lot of other good WordPress plugin development books available on Amazon. Could be a good place to start.
     
    Sanjay Ojha likes this.
  3. Thank you Kevin to pointing Rhys and Thomas. Definitely looking for their views.

    We both getting serious for wordpress development :) Though, I consider you IM expert more, than a wp programmer :)
    I think it would be better to buy book which is latest edition and written by some popular author. However, I think there are tons of tutorial and guide that is more then enough, if you are not absolute beginner. Also codex has lot of good article along with nice references.
    I think best way to learn is by making plugin following your tutorial or book. My real concern is to be hardcore developer with best practices not only with wordpress standard but with also PHP standard. I would prefer OOP over procedural approach and would love to take advantage of PHP new and advance features released with 5.3 and onwards, Like namspacing, autoloading and following PSR standard.
    However, the views of our riseforums programmer matter, so will wait for their suggestion also. :)
     
  4. No I am not looking to get too involved in WP development. I am, however, keen to learn the basics. It could help me write a few tutorials and give me a better understanding of how it all works.

    I agree. I would listen to those that have released plugins before.
     
    Sanjay Ojha likes this.
  5. @Sanjay Ojha thanks for calling me a programmer ;) I'm actually not so great in hardcore php coding, but I found it very easy to create Genesis child themes.
    I agree with Kevin and confirm that you should actually ask Rhys, Boris and Thomas :)

    My tips are:
    1) Keep the code as clean as possible
    2) Add comments to each part of code
    3) Keep in mind that you won't be the only user of the code
    4) Don't try to reinvent the wheel :)

    I guess here is your starting point :)

    PS. Before I start any collaboration with designers, they must agree to follow these rules: http://photoshopetiquette.com/ then coding is much much easier. But it only works with theme development.
     
    Kevin Muldoon likes this.
  6. Ha ha... Kris..
    Thanks for replying.

    I will wait for their response too, and many thanks for sharing your experience with me. I like the links you posted.
    I also agree with your 3 points, However the 4rth point (Don't try to reinvent the wheel) is controversial ;). I think for a learner its good to try to reinvent the wheel, until they dive deep into wheel basics and understand the fundamentals. Though it is not good to reinvent it repeatedly. Just saying :)
     
  7. Hi Sanjay,

    Before even starting out, you should educate yourself on the GPL license. It's easy to assume things based on what you have read/heard (I know I did), but it was actually a conversation with @Kevin Muldoon that opened my eyes. If you release WP products, those products are derivative of WordPress and are released under the same license.

    Here's a post that explains it in a very clear way:
    http://markjaquith.wordpress.com/2010/07/17/why-wordpress-themes-are-derivative-of-wordpress/

    I'm sure there are a lot of resources where you can learn how to start with WP theme and plugin development. Many are free, some are paid. Personally, I have never used these step-by-step guides. For me, WordPress Codex has been the main go-to resource.

    Whenever I would touch on an aspect of WP product development I was not very experienced with, I have read and re-read the Codex, played with the examples, and used Google search to find even more in-depth resources on the subject.

    Here are some points/resources based on my own experience in WP product development.

    Make sure your WordPress product is translation-ready:
    http://codex.wordpress.org/I18n_for_WordPress_Developers

    Educate yourself on the proper way to include CSS and JS files to your theme or plugin:
    http://codex.wordpress.org/Function_Reference/wp_register_style
    http://codex.wordpress.org/Function_Reference/wp_enqueue_style
    http://code.tutsplus.com/tutorials/loading-css-into-wordpress-the-right-way--cms-20402

    If you need a specific functionality, go with scripts which are already loaded into WordPress:
    http://codex.wordpress.org/Function...nd_Their_Script_Paths_Registered_by_WordPress

    Use conditional tags to load your resources only when needed:
    http://codex.wordpress.org/Conditional_Tags

    Take a look at Generate WP, which is an online code generator for custom code in WordPress:
    http://generatewp.com/

    Use semantic versioning for your themes/plugins:
    http://semver.org/

    Use the following tools while creating your product:
    https://wordpress.org/plugins/debug-bar/ - adds a debugging menu to the admin bar that quickly shows query, cache, and other helpful debugging information.
    https://wordpress.org/plugins/log-deprecated-notices/ - helps you identify old WordPress API functions your theme or plugin is currently using.
    https://wordpress.org/plugins/theme-check/ - an easy way to test your theme for all the latest WordPress standards and practices.
    https://wordpress.org/plugins/theme-mentor/ - same as above.
    http://lab.maltewassermann.com/viewport-resizer/ - handy bookmarklet that will load your site in a viewport the size of common devices (responsive design).
    http://www.browserstack.com/ - paid service doing the same.

    I could list many more, but I'll leave it at this so that it doesn't become too overwhelming. Feel free to ask any questions ;)
     
  8. Fantastic post Boris.

    I know many people are going to find it incredibly useful. Great stuff :)
     
    Boris Beo likes this.
  9. Thanks @Kevin Muldoon ;)

    There is a lot more that comes into play. Teaching theme and plugin development is a challenging thing, as there are so many options and ways to go about things. For instance, learning how to code a plugin using Custom Post Types would require a totally different approach than learning how to code a plugin that doesn't.

    That is one of the main reasons I have never used the step-by-step guides, although there are some amazing resources out there.

    I think @Rhys Wynne and @Thomas Hoefter can add even more amazing things to this post ;)
     
    Kevin Muldoon likes this.
  10. Superb explanation and great starting points. Thank you Boris for all your effort to write that long.
    As kevin said it will benefit all others who are interested in WP development.
    Definitely, You will my first choice for any help related to wordpress development. Once again thank you very much.
     
    Boris Beo likes this.
  11. Boris Beo likes this.
  12. Already lots of great advice and links in here. Really nothing of the sort I could add right now off the top of my head.

    One interesting question I did not see answered: What is your motivation for wanting to learn plugin development? Do you plan to accept client work and develop plugins for them? Or do you want to sell your plugins directly to others e.g. via a marketplace like Codecanyon? If it is the latter then you should think of your plugins as products and will need a whole lot of business knowledge to go along with your development skills (or get a partner who adds that to the team). But I guess plugin marketing and product development tips would then fit into a new thread when time comes. :)
     
    Sanjay Ojha likes this.
  13. Thanks for replying Thomas. That's really interesting question. To be honest I have not thought of it. I think skill learned as WP plugin developer can be utilize in both case, but thanks for pointing the extra points that I need to keep in mind while developing plugin for marketplace.
    I will sure go for making plugins to sell on marketplace in near future because If I have to develop plugin for my client then there are already thousand of plugin for almost all functionality, So in this case Kris Hoja 4rth point stands good - "Don't try to reinvent the wheel" .
    But for now, I am going to follow Boris suggestion and will focus to learn plugins development without any worry of what I will do it.
     
Thread Status:
Not open for further replies.

Share This Page