We’ve recently published a new portfolio entry: Mr Poster Custom WooCommerce Plugin. The project was quite complex to begin with – due to specific client requirements, multiple plugin dependencies and an existing WordPress installation. These could potentially cause conflicts compared with a fresh WordPress install (and it actually did as our development environment was slightly different!).
In the following tutorial I’m going to describe our development approach that simplifies the coding process and reduces a number of potential future issues to a minimum.
As much as we like coding (and prefer to focus on that part!) investigation and development planning are crucial. My typical approach is to keep asking the client on what are his needs.
Before I start working I tend to follow these rules:
Investigate the client’s current installation. Make sure there are no bugs in the existing code (usually enabling debug mode is enough), identify potentially conflicting plugins, ask for the working access details etc.
Make sure the client understands your proposed solution, if he’s like: “Ok, let’s try” then he certainly isn’t sure of the final effect – you may potentially spend coding time on doing something that’s not neeed. Make sure he says “Yes, that’s what I need”. You will not only save time on coding but will also be able to tell him at some point that this was something he agreed for and anything extra might require additional budget.
Similarly to the above, after obtaining all required information from the client you have to make a wise plan of your code structure. You can’t simply jump into the project and start coding whatever. I personally ask myself the following questions:
The short answer is – if it’s possible to code it as a plugin (say there are no theme code dependencies that cannot be hooked into) then Yes!
If the code depends on theme’s code then use the themes functions.php file (ideally as a child theme).
In certain case scenarios it might be wise to load your code as a must use plugin. Typical scenario is that if the client accidentally disables your plugin, installed in a normal way he might cause site to crash.
I always make sure to use only required 3rd party libraries or plugins. If something that I want to achieve can be done quickly without the inclusion of multiple lines of redundant code I tend to avoid using libraries.
We’ve been approached by the client with a set of images, mockups and a short description of the problem. Basically it as more or less such a conversation:
– Hey, we need an ability to merge mockups with posters because we’re losing a lot of time to do so in the Photoshop. Can you do that? How much would it cost and how much time would it take?
I was like, alright.
– What’s a mockup? What’s a poster? Can you provide me with a link to your site with images on what kind of sections are you speaking of?
– Yeah sure, here’s a link. When can we start?
Given my experience this is quite typical and nothing extraordinary. The client’s tend to assume that we as a specialists tend to understand everything from botttom to top without any explanation needed. That’s not correct at least that’s not helpful.
Hence I proposed to have a screen sharing made via Skype where the client would walk me through their site, their setup. I was asking about the difference between a mockup and a poster. After having such a call everything was clarified.
The investigation part as over (!). I had no questions I had an absolute understanding of the client requirements and was able to confirm them with the client.
Once we’ve gathered all of the required information. We decided to find the simplest and fastest solution to complete the project. Following the principles of #1 and #2 we’ve decied to go ahead with Custom Post Types and Advanced Custom Fields to achieve the desired result.
We’ve ended up with such a simple solution:
Afterwards, since the client was using WooCommerce to sell the goods we’ve extended the products with a panel which allowed:
And basically that’s it! The project was successfully launched just recently in Polish language but is supposed to be translated into several languages! The site is available at https://mrposter.co/, enjoy creating your first custom poster 🙂[rev_slider mrp]
With the world becoming a global village, thanks to the home internet and rapid travel services, one would think getting lost would be quite difficult. But the truth is quite the contrary; as more and more places get discovered and more buildings being built in these locations, it’s harder to keep track of said places.
However, to make sure people get to your place easily, you can add the Google Maps Widget to your WordPress site giving clear directions. Still, if you’re not using WordPress, you can speed up your website by propreply embeding maps and thanks to map services like Google Maps, people can pull up a map of the location on their smartphone and find their way through.
This is one of the best tools you can use to improve your website, just like the search engine optimization for your business or service, this is so important as it generates and increases the visibility for any type of website to get to the best potential customers and move your income faster. There are a few companies and partnerships that can help you out with this, the top rated and most used is Webmetrix Group, they will help you with your search engine and also offer you online reputation management service.
The Google Maps Widget for your WordPress allows your visitors to get clear directions to any location; the widget has been downloaded more than 1 million times and has more than 100,000 active installations because it runs the second you install it. It is the fastest WordPress plugin for the job because it generates thumbnail images from the maps, and that’s not all because instead of the usual 40+ requests, it takes only one request to load, that effectively reduces the site load by 2 MB.
The widget takes a minute to set up, regardless of the user’s technical skills and the theme being used. With the Google Maps widget, you can create as many maps as you need and you can put as many pins as you possibly want, there are absolutely no limits. There are tons of customization options as well which allows users to match their own site’s styles; with customs pins, different map styles, and tons of lightbox skins to choose from which they can match to their site’s design. What’s more, you can add directions to the map, along with satellite view, street view, custom information bubbles, and customizable lightbox; anything you could imagine.
With the Google Maps widget, you can create as many maps as you need and you can put as many pins as you possibly want, there are absolutely no limits. There are tons of customization options as well which allows users to match their own site’s styles; with customs pins, different map styles, and tons of lightbox skins to choose from which they can match to their site’s design. What’s more, you can add directions to the map, along with satellite view, street view, custom information bubbles, and customizable lightbox; anything you could imagine.
The PRO version goes the extra mile to make sure you get maximum customization and features. The widget is constantly updated with new features added with every update. The PRO version offers 12 thumbnails map skins, an extra hidden sidebar for shortcode handling, custom map language option and a fullscreen lightbox mode with 19 lightbox screens to choose from and new ones coming with every update. Users can also clone the widget which makes it easier when handling multiple maps, and also JS and CSS customization options. Premium USA based email support that is handled in-house, and not outsourced to 3rd party centers, with a guaranteed response within 24 hours.
The PRO version is available in 3 variants; the Unlimited Personal option which is the most popular option which the users can use on all their personal sites with 1 year of upgrades and supports along with full current and future features. The second option, the Unlimited Agency option offers usage on the unlimited client and personal sites with lifetime upgrades, supports, and features, and the third option which is the Personal option offers usage on one site only for one year worth of upgrades, support, and all PRO features.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.