The creation of price lists in WordPress is an operation that can be performed in several ways: it all depends first of all on the type of options we are using on the site.
A first solution may in fact be to resort to plugins that integrate the functionality, the second is instead linked to extend the functionality of the theme taking advantage of a feature already available, in our case theme. The first option is more suitable for beginners and undoubtedly gives less options, while the second is suitable for the more experienced and allows you to do a bit of everything at the level of customizations.
If we want to use a free plugin, there are not many alternatives but there are: we can both install Responsive Pricing Tables that the most generic (but very effective in my opinion) TablePress. If the former has responsive tables for ready-to-use prices, the latter offers the possibility of inserting tables as snippets in any post or page, which makes the two plugins suitable even for those who are not WordPress developers or a user too experienced. A third option is represented at the WP plugin level by Pricing Table, which offers almost the same options as the previous ones.
In these cases these are manually editable price tables, which you can update yourself from the backend and which work well at the “visual” level, above all. There are also paid plugins for the prices but, in my opinion, it is not worth taking them into consideration except for very specific needs.
If then – I pass to the second option – we are working on a theme made with Zurb (a good alternative to Bootstrap, for those who don’t know), his pricing tables can be a very interesting alternative, since they already give everything you need (title, prices, description, etc.) and the tables will already be responsive. Bootstrap also offers ready-made price tables, which can be fine-tuned by taking advantage of the information on this link Bootsnipp.
In these two cases, clearly, it will be necessary to insert the data in the tables via PHP using the primitives of the WordPress codex, depending on the case, which in the case of the plugin is not required since the data can be inserted manually by the backend. If we use the options of the template, as in this last case, if we decided to insert the data statically in the code we would then have to update the tables manually later.
Photo by ReneS