Single Page Builder
Author Info, Price Range Widget, Claim Now Button, Booking Form, Contact Form & Claim Form
| Document Overview
Scope: Configuring Author Info, the Price Range widget with tooltip and symbol styling, the Claim Now button with popup form, the CubeWP Booking form with time slot configuration and calendar switcher, the contact/lead form Tools: Elementor, CubeWP Plugin, ListingPro Value Pack, |
Introduction
This section concludes the Single Page Builder series by covering the final right-side sidebar sections: The Author Info, the Price Range display card, the Claim Now button with its modal popup form, the CubeWP Booking form (with time slot selection and calendar switcher) and the lead contact form embedded in the author section.
1. Author Section (Listing Author & Contact Form)
The author section is a card that displays the listing author’s profile (avatar, name, stats, and a View Profile button) alongside a lead contact form.
1.1 Author Section Main Container
- Add a new container inside the right sidebar.
- Remove default styles. Gap: 40px. Background Color: White.
- Border Radius: 7px. Margin Bottom: 30px. Padding: 20px.
- Padding Left: 27px. Direction: Flex. Align-Items: As per design.
- Add two child containers: Avatar container (left side, 21% width) and Info container (right side, 80% width).
1.2 Avatar Container (Left Side)
- Width: 21px (set to custom width). Padding: 0. Margin: 0.
- Add a nested container inside. Remove defaults.
Author Avatar Image:
- Add an Image element.
- Dynamic Image: Go to Dynamic Tags > CubeWP Single Post Data > Single Post Data > Post Author. In the settings, set the avatar.
- For the link, select the custom URL. From the dynamic tags, select Post Author and in the settings set ‘Profile URL’
- Width: 52px. Max Width: 100%.
- Height: 52px.
- Padding: 0. Margin: 0.
- Border Radius: 120px (fully circular avatar).
1.3 Author Info Container (Right Side, 80%)
- Width: 80% (remaining space after 21% avatar). Remove defaults.
- Justify-Content: Space-Between. Padding: 0. Margin: 0.
- Add two sub-containers for the name row and the stats row.
Author Name Container:
- Set defaults. Gap: 0. Margin: 0. Padding: 0.
- Add a primary Heading element.
- Dynamic Tag: Under Single Post Data > Post Author > Display Name.
- URL: Author Profile URL (set dynamically under Post Author > Profile URL).
- H4 tag.
- Font Family: Open Sans. Font Size: 18px. Font Weight: 600. Text Transform: Capitalize. Line Height: 22px.
- Text Color: As per design.
View Profile Button:
- Add a Button element in the same container.
- Dynamic Link: Post Author > Profile URL.
- Button Text: ‘View Profile’ .
- Font Family: Open Sans. Font Size: 10px. Font Weight: 400. Line Height: 55px.
- Text Color: As per design. Background Color: As per design.
- Border Type: Solid. Border Width: 1px. Border Color: As per design.
- Border Radius: 21px. Padding: Left 10px, Right 10px. Margin: 0.
1.4 Author Stats (Icon List)
- Add a container below the name container. Remove defaults.
- Add an Icon List widget.
- Remove label display for the icon list items.
- Select icon for each list item.
Icon List Item 1 — Total Listings Count:
- From Dynamic Tag of text: Under CubeWP User Data > User Statistics.
- Within the User Statistics tag: Select ‘Specific Post Type Count’ for ‘Listings’.
- This shows the total number of listings the author has added.

Icon List Item 2 — Total Reviews:
- Dynamic Tag: User Statistics. Statistics Type: Reviews Submitted Reviews Type: Post
- Remove the default icon; select Star icon.
- This shows the total number of reviews received by this author.

Icon List Styling:
- Navigate to the Style tab. Gap/vertical spacing: 20px.
- Icon Size: 13px. Icon Spacing: 0. Icon Hover Color: Default (leave as-is).
- Text Color: As per design (copy-paste). Apply to icon list styling.
1.5 Lead Contact Form (CubeWP Forms)
A contact form is embedded in the author section to allow users to send a message directly to the listing author.
Form Container Setup:
- Add a container below the icon list. Direction: Row, Space-Between. Set defaults to 0.
- Inside this container, add another container with direction Row, Space-Between, padding/margin 0.
- Add the CubeWPForms widget inside.
CubeWP Forms Plugin Setup:
- Navigate to Backend > CubeWP Forms.
- Create or select an existing form named ‘Contact Form’.
- Form fields: Name, Email, Phone, Message.
- Configure button text.
- Set CSS ID for custom styling if required.
- Optional: Restrict submission to logged-in users only.
- Optional: Show/hide form name or description on frontend.
- Save the form.

CubeWP Forms Widget in Elementor:
- In the widget settings, select ‘Contact Form’ from the Select form dropdown.
- Default form styling will be shown.
- Navigate to the Style tab to customize: fields, inputs, labels, and buttons.
- Copy-paste the styling you want to give to your form.
Form Style Tab — Main Container:
- In the Style tab, the first set of options controls the overall form container appearance.
- You can style form section content, tab content, field container, Labels, Input and Select Fields, and Submit Button from the style section.
- Publish and verify the default border is removed on the frontend.
Note: After setting borders to ‘none’ and publishing, the contact form will display cleanly without default borders, matching the overall card design of the author section.
2. Price Range Display Section
The Price Range card displays the listing’s price tier using the Listing Price widget along with price symbol indicators and a tooltip for additional context.
2.1 Price Range Container Setup
- Add a new container inside the right sidebar.
- Margin Bottom: 13 pixels.
- Padding: Top 24px, Right 28px, Bottom 8px, Left 30px.
- Navigate to Style. Set Background Color. Set Border Radius: 7 pixels.
2.2 Inner Container Structure
- Add a container inside. Set justify-content: center. Align-items: center. Gap: 0. Padding: 0. Margin: 0.
- Add two more child containers inside this central container.
Child Container 1 — Price Widget:
- Width: Fit-Content. Remove default gap and padding.
- Set right positioning: 10 pixels. Remove default padding.
- Add the Listing Price widget inside this container.
2.3 Listing Price Widget
- This widget displays the price range using symbol indicators (e.g., $, $$, $$$, $$$$).

- Style the widget to avoid showing as a plain tooltip.
- Navigate to Style settings and configure as follows:
Main Price Text Styling:
- Font Family: Open Sans. Font Size: 14px. Font Weight: 600. Line Height: 22px.
- Text Color: As per design (paste hex).
Price Symbols Styling:
- Font Family: Open Sans. Font Size: 14px. Font Weight: 600. Line Height: 22px.
- Symbol Color: As per design.
Tooltip Styling:
- Font Family: Open Sans. Font Size: 12px. Font Weight: 500. Line Height: 22px.
- Text Color: White. Background Color: As per design (paste hex).
- Padding: 5 pixels. Left: 5 pixels. Border Radius: 5 pixels.
- Arrow Color: As per design (paste hex).
2.4 Heading tags for the price range
- Inside the second child container, add a heading element (H5).
- Set text as the price range.
- Font Family: Open Sans. Font Size: 14px. Font Weight: Standard. Line Height: 24px.
- Text Color: As per design.
- Add duplicate headings for the price range display.
- Set margin: 2 pixels on left and right sides.
- The price range is displayed using a dynamic field type in the heading’s content.
- Select Field Type (Text) from dynamic tags In the settings, Data Source: Post Fields Select Custom Field: ‘Price From’ and ‘Price To’ for each field respectively.

- You can change the styling as required.
Note: After publishing and reloading the page, the listing price will appear correctly in the price range card.
2.5 Divider After Price Section
- Add a Divider widget below the price container.
- Width: 100%.
- Set divider color as per design.
3. Claim Now Button & Popup Form
The Claim Now feature allows users to claim ownership of a listing. It uses a button that opens a modal popup containing a claim form.
3.1 Claim Button Container
- Add a new container inside the price section area.
- Width: Fit-Content. Gap: 0. Padding: 0. Margin: 0.
- Add another nested container inside. Set width to fit-content. Gap: 0. Padding: 0. Margin: 0.
- Add an Icon List widget inside for the claim item.
Icon List — Claim Item:
- Configure one item in the icon list.
- Copy the existing item text and paste it into the designated area.
- Select the icon of the building .
Icon List Text Styling:
- Text Color: As per design (paste hex). Hover Color: Same.
- Font Family: Open Sans. Font Size: 14px. Font Weight: 500.
- Text Transform: Normal. Line Height: 20px.
3.2 Claim Now Button Widget
- Add a nested container inside the claim section container.
- Add another container inside this (for the button). Set width to fit-content.
- Set default padding and width. Adjust width to fit content.
Place the ‘Claim Now’ widget inside it.
Claim Form Integration Methods (Two Options):
There are two ways to add the claim form:
Option 1 — CubeWP Builder: Manage it through the CubeWP Builder.
To create the form: Navigate to Dashboard >CubeWP> Post Type Form > Select Claim > Save Changes.

Option 2 — Page Content: Create a WordPress page named ‘Claim Popup’. Here the claim form is managed through the CubeWP Submit Form Widget.
Claim Popup Page Configuration:
- Navigate to Pages in the WordPress dashboard.
- Edit with elementor the ‘Claim Popup’ page .
- Select ‘Post Form’ from the Post Type in Form settings.
- In the Post Form Settings, select the ‘Claim’ post type. Also you can add fields or edit form fields from here.

- The claim form is associated with the ‘Claim’ post type in the backend.
- Custom fields have been created and attached to the Claim post type as a field group.
- The form can be customized (field text, labels) via the claim fields group in the backend.

Claim Button Text Styling:
- Font Family: Open Sans. Font Size: 14px. Font Weight: 700. Line Height: 20px.
- Background Color: As per design. Hover Background Color: As per design.
- Text Color: As per design. Hover Text Color: As per design.
- Button Text: ‘Claim Now’.
Claim Popup Modal Styling:
- Navigate to the claim popup page’s Elementor editor.
- Modal Padding: 0. Max Width: 730px.
- Background Color: As per design (paste hex). Overlay Color: As per design.
- Remove default modal padding and margin.
Close Button Styling:
- Width: 20px. Height: 20px. Padding: 20px. Margin: 0.
- Background Color: As per design (paste hex). Border: None.
- Border Radius: 100px (fully circular). Text Color: As per design.
- Font Size: 15px.
- Position: Absolute. Top: -5px. Right: -5px.
- Left Side Container: Image + Background Color + Dynamic Tags.
4. Booking Form (CubeWP Booking)
The CubeWP Booking form allows users to book appointments or time slots for the listing. It is embedded in the single page using a container with the CubeWP Booking widget.
4.1 Booking Form Container Setup
- Add a new container inside the right sidebar main container.
- Gap: 0. Padding and margin: 0.
- Add another container inside. Direction: Row, Space-Between. Padding/Margin: 0.
- Add the CubeWP Booking widget inside.
- The booking form setup can use the Form Builder Configuration or a manual configuration
4.2 For Form Builder Configuration
- Navigate to Plugins > CubeWP > CubeWP Post Type Forms.
- Here you can select Booking in the post type and add fields here
4.3 For Manual Configuration
- In manual configuration, select Default booking fields from the field type.
- Booking field: Set the booking type.
- Field Width: Configurable.
4.4 Booking Style Configuration
Select the booking style — this determines how users interact with the date/time picker:
Option 1 — Number of Tickets: Simple ticket quantity selector.
Option 2 — Time Slot: Recommended. Time slots are generated based on business hours.
Option 3 — Date Range: Simple date selection with buttons.
Time Slot Configuration (Recommended):
- Booking Type : Time Slot.
- Business Hours Field: Select the Business Hours. Timings are generated automatically based on the listing’s configured business hours.
- Duration: 30 minutes (or as required).
- Slot Style: ‘Single Date Slider with Calendar Switcher’ — provides a date slider with an option to switch to a full calendar view.
- Price Field: Leave empty for free bookings. Set a number field here if the booking has a cost.
Note: In Elementor’s Edit mode, the calendar may not load in the preview. The booking form will render correctly on the frontend after publishing.
4.5 Booking Form Styling
- Navigate to the Style tab of the CubeWP Booking widget.
- Style the button: Typography, colors, border, padding, etc.
- Style the switcher (calendar/slider toggle).
- Style the time slots display.
- Applied styles: Padding adjusted, labels styled, input fields styled, single date slider styled.
4.6 Frontend Booking Verification
- After publishing, navigate to the frontend listing page.
- Business hours and time slots are displayed based on the listing’s business hours field.
- If business hours show ‘Closed’ or ‘No Hours’, zero slots will be available for that day.
- Navigate to a day with open hours to see available time slot options.
- Clicking ‘Book Now’ submits the booking request.
Connecting Booking to a Listing (User Dashboard):
- Navigate to Frontend User Dashboard > Appointments > Start Now.
- Bookings are configured against specific listings.
- Once a listing has been assigned business hours, the booking form will display slots automatically.
- Verify from the frontend that the booking form appears alongside the listing.
Note: If the booking form is not appearing on a listing, ensure the listing is enabled in the Booking Appointments tab within the user dashboard, and that business hours are properly configured for the listing.

This tutorial of the single listing page includes: author profile section with stats and contact form, price range widget with tooltip, claim now popup form, and a fully configured CubeWP booking form with time slot selection.
Here is the complete video tutorial







































