Do you have a WordPress website to share knowledge, documentation, product information files, portfolios, etc.? It’s convenient to allow visitors to have two options: read the preview or download the PDF file. Therefore, creating download and preview buttons on an e-book page can be a useful topic for you. Today, let’s do it using Meta Box and Kadence.

Take a look through the e-book page with two buttons that I created as an example:

The e-book page with the download and preview buttons

Video Version

Before Getting Started

The archive page shows detailed information about the books along with two buttons. The Download button is to save the PDF file to your device. And, the Preview button allows you to view it online.

Each e-book will be a post of a custom post type. The basic information of the e-book such as image, name, and description are respectively featured images, title, and description of the post. To store the PDF file, we'll use a custom field provided by Meta Box.

So, to get started, we need the Meta Box core plugin to have the framework for creating the custom post type and custom fields. You can download it directly from wordpress.org.

Besides, we’ll need some Meta Box extensions for the advanced features:

You can install them individually or use Meta Box AIO to have them all.

And, the last one is the pro version of Kadence with some extra types of blocks to build the page.

Create a Custom Post Type

Go to Meta Box > Post Types > Add New to create a new one for the e-book.

Go to Meta Box > Post Types > Add New to create a new one for the e-book

After publishing, the created custom post type will be displayed in the admin dashboard.

The created custom post type is displayed in the admin dashboard

Create Custom Fields

Go to Meta Box > Custom Fields to create a new field group as usual.

In this practice, I’ll create only one custom field to store the PDF file for the e-book. So, add the File Advanced field.

Add the File Advanced field to store the PDF file for the e-book

I keep this field as default without special settings. In the real case, you may want to have some advanced settings for this field or add more custom fields for extra information. But I skip them to make this practice simpler.

After that, move to the Settings tab. Then, set the Location as Post type, and select E-book to apply the field to this post type.

Move to the Settings tab, set the Location as Post type, and select E-book to apply the field to this post type

Go to the post editor, you will see the created custom field.

The created custom field is displayed in the post editor

Just fill in the information. And, click on the + Add Media button to upload a file.

Click on the + Add Media button to upload a file

These are some posts I’ve added.

Some posts as a demonstration

Display E-books on the Archive Page

As I mentioned, e-books will be displayed on the archive page. So, we need to create the page first.

Go to Pages > Add New to create a new one as usual.

Go to Pages > Add New to create a new archive page

Next, we will get and display e-books on this page.

We have multiple e-books, so I’ll create a query loop to get them all. To do it, add the Advanced Query Loop block. It is provided by Kadence.

Add the Advanced Query Loop block to have query loop to get all of the posts

In the Post Types option, choose the post type we used for the e-books.

Choose the post type we used for the e-books in the Post Types section

There are some default layouts you can choose for the e-book. Choose one of them.

Choose a layout for the e-book

After that, all of the e-books are displayed with the chosen layout.

All of the e-books are displayed with the chosen layout

You can adjust it as you want.

Next, we will add the download and preview buttons for each e-book into this query loop.

Add Download and Preview Buttons

Add a Download Button

First, for the download button, add an Advanced Buttons block.

Add an Advanced Buttons block for the download button

Then, add a label for the button.

Add a label for the button

To connect the button to the PDF file, click on the Link icon to add a dynamic link to the button.

Click on the Link icon to add a dynamic link for connecting the button to the PDF file

The documentation file was saved in the custom field created with Meta Box. So, set the Link as Post Custom Field.

Set the Link as Post Custom Field

At the same time, select the field that we used to store the PDF file.

Select the field that we used to store the PDF file

To set the download function for this button, open the Advanced section of the button, and enable the Download option.

To set the download function for this button, open the Advanced section of the button, and enable the Download option

That’s done.

Add a Preview Button

For the preview button, do the same.

Also use the Advanced Buttons block to add the preview button.

Use the Advanced Buttons block to add the preview button

Set the dynamic link for it as the field we used.

Set the dynamic link for it as the field we used

However, after that, there is no need to add advanced settings to the button since previewing the attached file is the default function of the button. It means that when visitors click on it, the uploaded file will be shown automatically.

Then, go to the page on the front end, you will see the buttons work well.

The buttons work well on the frontend

Next, it seems like we should style the page a little bit to have a better appearance.

Style the Page

Back to the page editor with Kadence. Just change some parameters and settings in the Style and Advanced tab on the right sidebar of each block.

Change some parameters and settings in the Style and Advanced tab of each block to style the page

Then, we will have the page with a better look.

The new look of the page after styling

Last Words

As you can see, with the help of Meta Box and Kadence, adding download and preview buttons to your website is quite easy. If you use other page builders or just use Meta Box, you can refer to others posts in this series.

In the case that you just want to display the download button on your site, the article on creating a download button using custom fields can be helpful for you.

Enjoy them and share your application with us. As well as, keep track of our blog for more exciting tutorials. Thanks for reading!

Other case studies you might be interested in

  1. Create A Dynamic Landing Page in WordPress Using Custom Field
  2. Create a Filter to Find Hotels by Location
  3. Create an OTA Website Like Booking.com with Meta Box Plugin - P1: Create a Page to Introduce Hotel Rooms
  4. Create an OTA Website Like Booking.com with Meta Box Plugin - P2: Create Filters on the Archive Page
  5. Create an OTA Website Like Booking.com with Meta Box Plugin - P3: Create Filters for Single Hotel Pages
  6. Create Dynamic Favicon in WordPress using Meta Box plugin
  7. Create Posts Series in WordPress Using Meta Box
  8. Display The Latest Products Section - P2 - Using Meta Box and Elementor
  9. Display The Latest Products Section - P3 - Using Meta Box And Oxygen
  10. How to Add Custom Fields for WooCommerce - P2 - Using MB Views
  11. How to Add Custom Fields to Display Banners using Meta Box Plugin
  12. How to Add Guest Authors and Guest Posts - Using Meta Box
  13. How to Add Related Posts - Using Custom Fields
  14. How to Build a Hotel Booking Website Using Meta Box - P1
  15. How to Build a Hotel Booking Website Using Meta Box - P2 - Booking Page in Backend
  16. How to Build a Hotel Booking Website Using Meta Box - P4 - Booking Management Page
  17. How to Build a Hotel Booking Website Using Meta Box – P3 – Booking Page for Customer
  18. How to Create a Classified Ads Website using Meta Box
  19. How to Create a Custom 404 Page in WordPress - P1 - Using Meta Box and Elementor
  20. How to create a FAQs page - P5 - Using Meta Box and Breakdance
  21. How to Create a Product Page - P2 - Using Meta Box and Oxygen
  22. How to Create a Product Page - P3 - Using Meta Box and Bricks
  23. How to Create a Product Page - P4 - Using Meta Box and Elementor
  24. How to Create a Product Page - P5 - Using Meta Box and Gutenberg
  25. How to Create a Product Page - P6 -Using Meta Box and Breakdance
  26. How to Create a Product Page - P7 - Using Meta Box + Kadence
  27. How to Create a Product Page - P8 - Using Meta Box and Brizy
  28. How to Create a Product Page - P9 - Using Meta Box and Divi
  29. How to Create a Product Page using Meta Box Plugin
  30. How to Create a Reading Progress Bar in WordPress Posts - P1 - Using MB Views
  31. How to Create a Recipe - P2 - Using Meta Box and Oxygen
  32. How to Create a Recipe - P3 - Using Meta Box and Elementor
  33. How to Create a Recipe - P4 - Using Meta Box and Bricks
  34. How to Create a Recipe - P5 - Using Meta Box and Zion
  35. How to Create a Recipe - P6 - Using Meta Box and Brizy
  36. How to Create a Recipe - P7 - Using Meta Box and Breakdance
  37. How to Create a Recipe - P8 - Using Meta Box and Kadence
  38. How to Create a Recipe - P9 - Using Meta Box and Divi
  39. How to Create a Recipe with Meta Box Plugin
  40. How to Create a Simple Listing - P2 - Using Meta Box and Bricks
  41. How to Create a Simple Listing - P3 - Using Meta Box and Breakdance
  42. How to Create a Simple Listing - P4 - Using Meta Box and Elementor
  43. How to Create a Simple Listing - P5 - Using Meta Box and Kadence
  44. How to Create a Team Members Page - P1- Using Meta Box and Elementor
  45. How to Create a Team Members Page - P2 - Using Meta Box and Oxygen
  46. How to Create a Team Members Page - P3 - Using Meta Box and Bricks
  47. How to Create a Team Members Page - P4 - Just Meta Box
  48. How to Create a Team Members Page - P6 - using Meta Box and Breakdance
  49. How to Create a Team Members Page - P7 - Using Meta Box and Kadence
  50. How to Create a Video Gallery Page - P2 - Using Meta Box + Bricks
  51. How to Create a Video Gallery Page - P3 - Using Meta Box and Breakdance
  52. How to Create a Video Gallery Page - P4 - Using Meta Box + Elementor
  53. How to Create a Video Gallery Page - P5 - Using MB Views
  54. How to Create a Video Gallery Page - P6 - Using Meta Box and Zion
  55. How to Create a Video Gallery Page - P7 - Using Meta Box and Kadence
  56. How to Create a Video Gallery Page Using Meta Box + Oxygen
  57. How to Create ACF Flexible Content Field with Meta Box
  58. How to Create an Auto-Updated Cheat Sheet in WordPress
  59. How to Create an FAQs Page - P1 - Using Meta Box and Elementor
  60. How to create an FAQs page - P2 - Using Meta Box and Oxygen
  61. How to create an FAQs page - P4 - Using Meta Box and Bricks
  62. How to Create an FAQs Page - P6 - Using MB Views
  63. How to Create an FAQs Page - P7 - Using Meta Box and Divi
  64. How to Create an FAQs Page - P8 - Using Meta Box and Kadence
  65. How to Create an FAQs Page - P9 - Using MB Blocks
  66. How to Create an FAQs Page -P3- Using Meta Box
  67. How to Create Buttons with Dynamic Link using Custom Fields
  68. How to Create Category Thumbnails & Featured Images Using Custom Fields
  69. How to Create Download and Preview Buttons - P1 - Using Meta Box and Bricks
  70. How to Create Download and Preview Buttons - P2 - Using Meta Box and Oxygen
  71. How to Create Download and Preview Buttons - P3 - Using MB Views
  72. How to Create Download and Preview Buttons - P4 - Using Meta Box and Kadence
  73. How to Create Download Buttons in WordPress - Using Custom Fields
  74. How to Create Dynamic Landing Page in WordPress - P1 - Using Meta Box and Elementor
  75. How to Create Dynamic Landing Page in WordPress - P2 - Using Meta Box and Bricks
  76. How to Create Menus for Restaurants - P1 - Using Meta Box and Elementor
  77. How to Create Menus for Restaurants - P2- Using Meta Box and Bricks
  78. How to Create Notification Using Custom HTML Field
  79. How to Create Online Admission Form for School or University
  80. How to Create Online Reservation Form for Restaurants using Meta Box
  81. How to Create Reading Time to Your WordPress Posts - Using MB Views
  82. How to Create Relationships - P1 - Using Meta Box and Oxygen
  83. How to Create Relationships - P2 - Using Meta Box and Bricks
  84. How to Create Relationships - P3 - Using MB Views
  85. How to Create Relationships - P4 - Using Meta Box and Breakdance
  86. How to Create Taxonomy Thumbnails & Featured Images - P2 - Using Meta Box and Oxygen
  87. How to Create Taxonomy Thumbnails & Featured Images - P3 - Using Meta Box and Bricks
  88. How to Create Taxonomy Thumbnails & Featured Images - P4 - Using MB Views
  89. How to Create YouTube Video Timestamps on WordPress Website - P1 - Using MB Views
  90. How to Display a Video Playlist - P1- Using MB Views
  91. How To Display All Listings On A Map With Meta Box
  92. How to Display Author Bio in WordPress - P1 - Using Meta Box and Bricks
  93. How to Display Author Bio in WordPress - P2 - Using MB Views
  94. How to Display Dynamic Banners in WordPress - P3 - Using MB Views
  95. How to Display Images from Cloneable Fields - P1 - with Gutenberg
  96. How to Display Images from Cloneable Fields - P2 - Using Meta Box and Oxygen
  97. How to Display Images from Cloneable Fields - P3 - with Elementor
  98. How to Display Images from Cloneable Fields - P4 - with Bricks
  99. How to Display Opening Hours for Restaurants - P1 - Using Meta Box + Gutenberg

Leave a Reply

Your email address will not be published. Required fields are marked *