To display the data from your Custom Post Type you can create a post template single-shop.php
(for example) and place this in your theme folder.
NOTE: The filename must match the name of your CPT – ie single-{your_post_type}.php
.
Then in this template you can display your data with the_field() – eg:
<?php the_field('opening_hours'); ?>
The plugin you are using for the CPTs / custom fields would probably have help docs that would give you some good examples.
- eg ACF – Displaying custom field values in your theme
- eg PODS – Display field values in php templates
You may also want to create a template archive-shop.php
for the listing of all shops (make sure you’ve set has_archive ==> true
for this CPT) – if not WordPress will default to the archive.php
anyway. See https://developer.wordpress.org/themes/template-files-section/custom-post-type-template-files/ for more info on Custom Post Type template hierarchy.
If you want to avoid code there are several plugins that will help you do this, some with point & click options, others with simple [shortcodes]. Off the top of my head I think Beaver Builder + Beaver Themer and/or Elementor + Toolset would achieve what you are looking for.