A few months ago I decided to take up a project which involved creating a classified adverts website so I tried out a few plugins out there and as usual my first choices where those most popular and high ratings. Although this method of choosing plugins works most of the time by this time it proved not to be the best path.
The first disadvantage of plugins that I tested was that they create their own custom main and relational tables with a huge number of unfamiliar column names which would make it too difficult to follow and use in codes and as the result a very specific and personal algorithm and coding that would need hours and familiarizing and getting the hang of. Having their own set of tables and logic would, in turn, make it very difficult to style the output at the front-end of the site.
One of the immediate problems that a developer faces when implementing an over-costumed plugin is the possibility of automating the creation of the test data. Let’s consider Woocommerce as an example, this super popular plugin has a set of test data that developers can use to get the look and feel of the final outcome of their endeavor but not many other plugins have the same option available to the developer so they have to build their own test data and better yet make it automated. With that complex and not very standard of coding of the plugins this task would be next to impossible.
Finally, I went out of my way and tried a newer albeit not so popular plugin called Advanced Classified & Directory Pro. Right after activating the plugin I realized – to my pleasant surprise – that ACADP hasn’t added any table to the database. ACADP uses a much more standard way of adding and holding data, it simply keeps the ads inside
Each listings post is categoriezed under “categories” and “locations”. These categories are custom taxonomies. Categories are registered as “acadp_categories” and their jobs is to organized listings based on the type or product/service they offer. Examples of categories are Cars, Apartments To Rent, Second and mobile Phones and so on. The are hierarchycal for example we can have make and production years for each car or brand for each mobile.
The “location” taxonomy is used for pinpointing the area that the service/product is offered and like the category it is hierarchical so for example it can be a SPA in USA => California => Los Angeles. This taxonomy is registered under the name of “acadp_locations”.
The developer of ACADP has also made it very easy to style. While there are several ways to control the look of pages it offers a much stronger method to manipulate the output HTML. Much like Woocommerce that allows us to copy the whole template folder to a subdirectory of our theme, in ACADP we can copy the whole “partial” folder to a folder inside our theme called ACADP and comfortably manipulate the output.
- The first thing that comes into my mind is a set of test data. That would be great if the developers of ACADP had some sort of test data prepared for the users so that they can test all the aspects of the plugin.
- It would also be very helpful if we had a ready theme, preferably free so the users of the plugin not only can test the functionality of the plugin – with test data – but also get an idea of a basic style for the site.
From a few days ago I ran into a problem with this plugin. The problem is that every shortcode for the plugin that has something to do with the user appears as simple text so not working. Shortcodes such as [acadp_user_account] which is used to show the information about the user and enable them to change the password, [acadp_register] which is used to create a custom page for new users to register, [acadp_login] which is self-explanatory and builds a form for the user to login. It is sort of strange that other shortcodes work but only those with a relation to the user account. For example [acadp_favourite_listings] or [acadp_locations] that shows all the location created by the admin and so on.
Solution: after a few hours searching around I found the solution on the support section of the plugin here: https://wordpress.org/support/topic/short-code-on-account-page/. Apparently, I needed to give the plugin permission to handle the login and registration process for the users through the plugin’s settings page.