• A few comments / suggestions:

    I don’t understand why you’ve developed a completely new plugin rather than just forking the GPL licensed WPAA (WordPress Advertising Associate, previously known as WordPress Amazon Associate plugin).

    The ads don’t display correctly as you are enqueing the CSS from the shortcode handler, which is called after all CSS has already been enqueued and printed. You need the enqueue the CSS earlier. I would suggest 2 options – one to just enqueue on all pages (recommended), or one to enqueue only on pages with the shortcodes present.

    The js for carousel is inlined in the template, when it should be included in an external file for improved caching and reduction in page size.

    The jQuery carousel lite plugin you are using is not compatible with current versions of jQuery, and so the carousel functionality does not work. It is a simple fix, but I would encourage you to look for a solution that does not require a heavy library like jQuery.

    The classes are tightly coupled. While by no means required, I would suggest you consider using interfaces and dependency injection, if you haven’t already considered this.

    Again, not a strong suggestion, but the classes make heavy use of private methods which means they can’t be extended with a private method overridden. Protected methods are more flexible.

    In the mustache template you use html comments, which results in increased page weight. You can use mustcahe comments instead.

    I don’t understand the use of mustache, unless for security reasons? PHP is a templating language, so to add another on top just adds extra bloat, and the logic-less mustache is far less flexible than PHP.

    This may be a restriction of the Amazon API, but the 10 item limit seems a bit stingy. I thought I could have more than 10 items when using WPAA.

    Sometimes there are missing images, this is because some products don’t have an overall image. The solution is to check if an overall image exists, and if not then take the image of the first variant.

    The geo implementation has both good points and bad. I like the fact you can specify different ASINs for different regions. What I don’t like is being forced to do this. With WPAA it will automatically use geodetection for all marketplaces with the single specified ASIN when no specific marketplace is set. I would suggest the same behaviour for AALB since the same ASIN is usually used for the same product across marketplaces.

    Another good / bad point is the lack of filters / actions. On the one hand, the code is cleaner and more transportable without WP specific functions. On the other, it would be useful to be able to modify requests, responses, generated HTML etc through the use of filters.

    The impression pixel urls aren’t entity escaped, meaning the plugin is not compatible with sites that use XHTML.

    The width and height values on impression pixel should be 1, not 1px (this is the attributes, not the style values, which do use px)

    Custom templates HTML & CSS don’t show in the Template editor

    Amazon Search bar is added above quicktags editor but doesn’t work

  • The topic ‘Comments / Suggestions / Bugs’ is closed to new replies.