Thanks for purchasing the Ivory WordPress template by Hesam Bayat. This documentation will give you an overview of the template's main features and how they can be customized to suit your requirements. This guide assumes basic knowledge of WordPress.
We have endeavored to make this documentation as comprehensive as possible but understand that at times, you may need to contact us for additional support. You can reach out for this support by opening a ticket at our dedicated forum on Ticksy. You will need your purchase code in order to signup, you can find this here.
Ivory is a WordPress theme, this means that all domains and hosting should be organized by you.
You'll need to upload the “ivory” folder in the structure that appears in the Installation section of this document. That is, the Ivory theme should reside in the wp-content/themes directory, and all other files should reside inside their associated folder.
“The package could not be installed. The theme is missing the style.css stylesheet.”
This is usually a result of the theme folder not being uploaded correctly. Ensure the downloaded package from ThemeForest, has unzipped and you upload only the theme-installable.zip.
Ensure that you only make style changes inside the child theme style file. This will make it much easier to update the template later - you'll only need to preserve your custom-style file.
Each page can override the global color palette. Navigate to the edit page, select Document from the Settings panel and ensure the page's "Override Color Palette" dropdown is selected default or your desire color schema name.
For you to get the most out of reading this document, we'll introduce some of the terminology used throughout so you'll be able to follow exactly what is meant.
Blocks are the fundamental element of the Gutenberg editor. They are the primary way in which plugins and themes can register their own functionality and extend the capabilities of the editor.
A tag is required to define each part (or element) that makes up the page as a whole.
<div> is the tag used to define a page division, the fundamental building block of HTML. May also be referred to simply as a div element.
<div class="container"> ... </div>
<a> is the tag used to define a link, otherwise known as an anchor. May be referred to simply as an element.
<a href="https://hesambayat.com">Hesam Bayat</a>
<i> is the tag used to define an icon. Maybe simply referred to as i element.
<i class="icon i-airplay"></i>
A reference to any element with the specified class, or a reference to a class that may be used to modify another element.
"Icons use the .icon class" means an i element that has class .icon will render as an icon.
<i class="icon i-airplay"></i>
You'll need to unzip the downloaded package from ThemeForest. Then only upload and install the theme-installable.zip file.
Note: One of the most common reasons people have issues is because they try uploading the full zip that includes demo content, theme, documentation… etc which displays the “The package could not be installed. The theme is missing the style.css stylesheet.” error.
Ensure that you only upload the theme files.
Install the theme by following these 3 steps:
Note: If you get an upload file maximum size limit error. You'll need to install the theme via FTP or contact your hosting provider to increase the limit.
See also: Adding new themes — WordPress.org
After activating the theme a notification will pop up at the top of the admin pages that says the theme requires the following plugins:
By clicking on 'Begin installing plugins', you'll be redirected to a page where you can bulk install all the plugins at once. This message will also pop up anytime an update for a plugin is needed.
Installing demos with one click is fairly simple. However, from time to time the process can fail; Due to many variables that come into play. For that reason, Ivory offers a native WordPress import demo data process that gives you control over your content.
This guide assumes you already installed recommended plugins:
After you import the data, lunch site customizer.
Settings of this group are responsible for managing site identity features. This is the initial place where you upload your logo. Simply go to Appearance > Customize > Site Identity.
Use the select logo button to add your site's logo image. The suggested image dimensions are 232 by 114 pixels.
Site title identities your site name and appears on search engine results, this field will be prefixed onto the site title tag and site's logo alt attribute.
Tagline describes your site activity and appears on search engine results, this field will be suffixed onto the site title on the home page.
Site Icons are what you see in browser tabs and bookmark bars. Site Icons should be square and at least 512 by 512 pixels.
Ivory color palettes are designed and developed to serve your ideas and purposes, they bring an eye-catching and nice contrast to your website. You can select one from many existing ready-to-use color palettes or you can create your very own custom color palette. To do so, simply go to Appearance > Customize > Colors.
<!-- Template’s primary color -->
<p class="color--primary">...</p>
<!-- Template’s primary background color -->
<div class="background-color--primary">...</div>
Font sizes and styles were developed to balance content density and reading comfort under typical usage conditions. To select your desire font family and its weight from all Google fonts, simply go to Appearance > Customize > Typography.
This font is used as your site's main font in all pages and posts. It is better to select a san-serif font that is matched better with the overall look of the theme's design.
This font is used as your site's headlines on all pages and posts. For making a better contrast you might select heavier font weights like Bold or Black.
<!-- Template’s subheading -->
<span class="sub-head">...</span>
<!-- Template’s third body font -->
<p class="text-body-3">...</p>
Site menu bars are where visitors find links to the important pages on your website. Having the right site menu bar design is critical – it affects traffic, conversions, and user-friendliness. Simply go to Appearance > Menus.
Everything important on your website is connected to the site menu bar. It appears on the top of pages and supports 3 levels of sub-menus. To creating top navigation, go to Appearance > Menus > Create New Menu, Enter menu name, and check “Primary” from “Menu Locations”. Hit “Next” and add items.
How to set up a submenu with images? When editing the main navigation in the WordPress menu editor, click the item you'd like to open up a featured image drop-down menu and check “With Images”, as you can see in this screenshot:
The News menu contains links that let users have quick access to blog & categories pages. To creating navigation, go to Appearance > Menus > Create New Menu, Enter menu name, and check “Blog & Category” from “Menu Locations”. Hit “Next” and add links to the blog page and categories pages.
Add useful links to the footer where they always accessible by users. To do so, go to Appearance > Menus > Create New Menu, Enter menu name, and check “Footer” from “Menu Locations”. Hit “Next” and add items.
You have a list of widgets you can choose from when it comes to making the pulled-in sidebar or footer widget area functional.
To adding widgets go to Customize > Widget > Side Widgets and add widgets that are suitable for the pulled-in side widget area.
To adding widgets go to Customize > Widget > Footer Widgets and add widgets that are suitable for the site footer.
Example of adding useful links into the footer:
Ivory offers the use of Mailchimp as a marketing email service. While Mailchimp API requires an account in order to create an email listing please make sure you have already created a Mailchimp account.
Go to Appearance > widgets and add Ivory — Mailchimp to the Footer Widgets area.
Follow Mailchimp's instructions here on how to create a new list. When you have your list ready, proceed to the next section to learn how to set up your subscribe form.
After you have created a list, Make sure you are on the list page that you just created, by clicking on lists from the main navigation then choosing your list.
Now you are ready to fetch your form information and insert them into your website’s subscribe form.
<!-- Form action URL -->
<form action="//pixudio.us15.list-manage.com/subscribe/post?u=4f175e7a78cd5c1fce7ef555a&id=8f06b51a52" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
<div class="sr-only" aria-hidden="true">
<!-- Hashed key -->
<input type="text" name="b_4f175e7a78cd5c1fce7ef555a_8f06b51a52" tabindex="-1" value="">
</div>
...
</form>
Social media is an extremely valuable tool for promoting your marketing content. For that reason, Ivory offers a simple setup widget that you can include your social media links directly to your site.
Go to Appearance > widgets and add Ivory — Social Links to the Footer Widgets area.
Click on the “Add a new link” button and enter the link to your social.
If you already know your icon class name or you want to display an icon that is not available in the Ivory icon package, you might enter the icon class name manually otherwise simply click on the “icon” field and select an icon from the popup.
Note: To add new widgets to the footer follow up with Footer widget area and to add footer navigation follow up with Footer menu.
Regardless of having widgets in the footer widget area, you can hide them anytime by check the “Hide Widget Area” from Customize > Footer.
To select footer widget area columns find the “Columns” option in Customize > Footer.
To turn on/off the image distortion effect on the site, navigate to Appearance > Customize > Image Distortion and check the Turn Off Image Distortion Effect for deactivating the effect and keep it unchecked to let the effect will be applied.
The General Data Protection Regulation (GDPR) is a European Union (EU) law taking effect on May 25, 2018. The goal of GDPR is to give EU citizens control over their personal data and change the data privacy approach of organizations across the world.
For that reason, Ivory offers an easy setup popup that improves your user awareness about the site cookies, among the form's acceptance checkboxes.
Disclaimer: Cookie notice and acceptance checkboxes are a couple of items on GDPR compliance checklist. To ensure that your site is fully GDPR compliance, you should look up GDPR requirements guides or better consult a lawyer.
Go to Appearance > Customize > Cookies Notice and check “Display cookies notice”.
Note: The cookie notice modal will only pop up if a user is not logged in or did not dismiss the pop-up within cookie expiry.
Go to Appearance > Customize > Cookies Notice, enter a number of days in the “Cookies notice expiry day(s)” field. e.g. 7 for one week.
Add a copy of ivory/template-parts/cookies-notice/popup.php file into child theme ivory-child/template-parts/cookies-notice/popup.php and start to modify the child theme popup.php file.
Note: As you are editing a PHP file, ensure you have the right access and permissions to your server files and can undo the changes in case anything goes wrong, also make sure you already activated the debugging mode.
Simply go to Appearance > Customize > Tracking Codes and add your tracking codes such as <script>, <iframe> and etc; to the Custom Codes field. You might add multiple tracking codes once and they would print in the bottom of your document as they are, for that reason make sure your tracking codes are valid and reliable.
Add your own CSS code to style.css file inside the child theme. This will make it much easier to update the template later - you'll only need to preserve your custom-style file.
You also can add your custom CSS code to the "Additional CSS" setting at the site customizer, to do so, simply go to Appearance > Customize > Additional CSS.
Ivory offers +40 modern blocks among all of Gutenberg blocks that let you write rich posts and create beautiful and eye-catching layouts.
Have a quick glance at how blocks work.
Here are some of Ivory's blocks we hope you could enjoy.
Video popup is an essential way to offering embedded YouTube and Vimeo videos to users, You can simply include it to any link, and lets users to decide what video they are attempt to watch.
A video popup can be attached to any <a> tag, simply by adding .video-popup class and link to a Youtube or Vimeo video.
<a class="video-popup" href="https://www.youtube.com/watch?v=kHJQ9gG26HQ">Watch video</a>
Buttons are used in various places throughout the template to implore the user to continue exploring other parts of the site, or to call them to perform an action such as sign up, book now, become a member etc.
Buttons are housed in a basic <a> element.
<a class="btn" href="#">Sign up</a>
Icons serve different purposes depending on where they are used - often they are used as decoration, to illustrate a particular service for example. In other cases, icons are used to help users navigate a site (a downward arrow denoting a drop-down menu for example).
Icons use the i.icon element and require another icon class name depending on which icon set is in use.
<i class="icon i-apple"></i>
Lazyloads images or iframes load only when the users need them to display. In this way, the user won’t have to wait for all the elements on the page to be loaded and therefore, can start using the web page sooner. The user will be seeing only the images above the fold. The rest will come as soon as the user scrolls.
A lazyload element uses the class lazyload in conjunction with a data-src and/or data-srcset attribute. Optionally you can also add an src attribute with a low-quality image.
<img
class="lazyload lazyload--el"
src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="
data-src="image.jpg"
data-srcset="image.jpg 1800w, image-1600x900.jpg 1600w, image-1280x720.jpg 1280w, image-768x432.jpg 768w"
width="1920"
height="1080"
alt="">
ls.unveilhooks plugin extends lazyLoad to background images, video posters, and scripts.
Background-Image:
For background images, use data-bg attribute:
<figure class="lazyload lazyload--el" data-bg="image.jpg"><figure>
Video’s poster:
For video tag use data-poster and preload="none":
<video class="lazyload lazyload--el" data-poster="image.jpg" preload="none">
<!-- sources -->
</video>
Scripts:
For scripts use data-script:
<div class="lazyload" data-script="module-name.js"></div>
Script modules using require:
For modules using require use data-require:
<div class="lazyload" data-require="module-name"></div>