Tarot Card Oracle

plugin banner

This plugin lets you create Tarot, Cartouche, Rune, and oracle readings using your own cards, spreads, and interpretations.

Author:ChilliChalli (profile at wordpress.org)
WordPress version required:4.6
WordPress version tested:6.5.3
Plugin version:1.1.7
Added to WordPress repository:08-05-2020
Last updated:02-06-2024
Rating, %:60
Rated by:4
Plugin URI:https://chillichalli.com/card-oracle
Total downloads:9 062
Active installs:200+
plugin download
Click to start download

Create your own oracle and tarot readings. Use this plugin to build any spread, using any deck of cards and any interpretation of those cards. If cards have different meanings in different positions, it’s possible to define each card for each position.


A brief overview of how the WordPress plugin elements, Readings (Spreads), Positions, Cards, and Descriptions work together.
For all our videos visit our site ChilliChalli.com or our youtube channel.


  • English – default, always included
  • French
  • German
  • Portuguese
  • Spanish

How to

The Card Oracle is made up of different areas:


Where the user gets an overview of what’s been configured in the Card Oracle and where they can pick up the Shortcodes
for their Readings to display on the front end of the site.

Where the user defines the Spreads that are going to be used

Where the user defines the Positions to be used with each specific Reading/Spread. Positions are assigned to a Spread here.

Where the user defines the Cards that will be used with the Readings/Spreads

Where the user configures the definitions used for each Card in each specific Position defined in ‘Positions’ above.

Demo Data
This will create an example Tarot Card reading. It is a custom Past, Present, Future Reading using the 22 Major Arcana cards. You are free to use this on your site but only with the Card Oracle plugin. You can update it as needed, ie. removing (Demo) from the Title, etc.

Orders (Premium)
The purchases from your Card Oracle readings will be displayed on this tab. In includes the purchasers email address, price, status, the reading details, transaction details and the date and time of the purchase.
*New – the user has submitted the reading but has not finished payment yet.
*Completed – the user has made the payment and an email has been sent with their reading.
*Payment error – the user has paid an incorrect amount for the reading.

Validation (Premium)
Shows protential problems with Readings, Positions, Cards, and Descriptions. It includes links to fix the common problems found.


This provides an overview of the Readings, Positions, Cards, and Descriptions that the user has defined within their version
of the
Card Oracle.

It is a useful quick sanity-checker – if you know how many Cards you have, and you know how many Positions you have for each Card
for each Reading, you can quickly check that you have a Description defined for every Card in every Position in a specific Reading.

The user must take care to link Descriptions to the correct Cards and Positions. And in turn to link the Positions to the correct
Reading, but this is a great overall checker – if the numbers do not add up, then you need to check your configuration.

Additional tabs on Dashboard:

Multiple Positions for a Description – this is the global setting where you can allow the Card Oracle to use the same Position for multiple Descriptions within a single Reading and across multiple Readings. The multiple Positions for a Description on the Readings
tab will not work if this is not enabled.

Email Settings
If you want your users to be able to email themselves a copy of their Reading, then toggle the ‘Allow users to send Reading to an email address’ option here.

From email address – this is where you define the email address from which the Readings will be sent.

From email name – this can be different from the email address above if you have a site name or want to use your own name.

Text to display
This is where you can configure what text you want to display – it accepts HTML. If this is left blank, the default text reads:
“Email this Reading to:”

Integrations (Premium)
Setup the integration to various List/Email providers. The current integrations include ActiveCampaign(tm), MailChimp(tm), and SendinBlue(tm). Need one that’s not listed? Email us.

Payment Provider (Premium)
Setup for the payment providers. Currently, the only PayPal is supported. Please let us know if you require something different.

Creates the basic framework of a Reading. Creates the Reading, Positions, Cards, Descriptions, and all the links between them. You will need to add your text and images for the cards. As well as your text for the Descriptions in the upright and reversed positions.

Display of current WordPress and Card Oracle settings. Used to help debug any issues found including the last 20 Card Oracle error logs, if any.


This tab is used to define the different Readings (or Spreads) the user wants to offer on the front end of the site.

Click Add New Reading.

Add the name of the new Reading.

Settings offer the following options:

Display Question Input Box – when enabled, this displays a question input box. The submit button will only show (it displays after the correct number of Cards have been picked) if the text has been entered in this box. If you do not want your user to enter
a question for this Reading, leave this toggle disabled.

Text for input box – allows you to prompt the user to enter text in the input box – e.g. ‘What is your question today?’,
‘Where do you need clarity’ etc.

IMPORTANT – do NOT use apostrophes in your text here, if you plan on allowing users to email the Readings to themselves.

Footer to be displayed on daily and random Readings – This is a free text area – you can use it to upsell other Readings or
to direct your users to another link or Reading.

Back of Card Image
On the right panel of the screen, underneath the WordPress standard post content, add an image for the back of the Card. This is what will display before your user picks their Cards. There is a default image programmed into the Card Oracle which will display
if you do not add a Card Image, but you can personalise your Card back here.

To save the Reading, click on the Publish button as you would with a normal WordPress post.

Top Tip: To save time, if you are going to offer multiple Readings, create all of them before you start configuring the rest
of the Card Oracle – you’ll save yourself a lot of clicks.

When you have created your Reading and saved it, return to the main Dashboard tab.

You will see a record with your Reading name, and then a Shortcode option.

If you click on the Reading Shortcodes link at the bottom of the record (below the Positions, Cards and Descriptions), you will
be presented with three Shortcodes:

Reading Shortcode
This displays the backs of the number of Cards that you have defined for this Reading. When the user clicks on the correct number
of Cards (and may or may not need to enter a question, depending on how you have configured the specific Reading) the submit
button will display, the user will click the submit button in order to display the results of the Reading.

This is the Shortcode you will use if you have more than one Position in the Reading.

Daily Card Shortcode
Each day, this displays one new Card on the page/post you have used the Shortcode. The Card will be one of the Cards you have defined on the Cards tab. The plugin starts with the first Card you created and then it displays them all in the order that you created them (time and date order). If you want the Cards to display in a ‘random’ order, you will need to create them in a ‘random’ order in the first place. Once the last Card you have defined has been displayed, the Oracle will start displaying them all again from the start. Only one Card is displayed for this Reading.

Random Shortcode
This displays one random Card each time you refresh a page. Only one Card is displayed for this Reading.

To the right of each Shortcode, you’ll see a copy button. Click this to copy the Shortcode. Paste the Shortcode into the
the relevant module on your post or page to display it on the front end of the site.


This tab is where you define the different Positions that you will use in your Readings/Spreads. This is where you link
Positions to Readings/Spreads.

Click on Add New Position.

Top Tip: Once you have all of the Readings defined, define all possible Positions you might use and assign them to the
specific Readings here.

Name of Position – this will display on the Reading. For this reason, use a meaningful name. Doing this will also make it
easier to set up the Descriptions for each Position later in the configuration.

You will see all of the Readings you have set up displayed under Settings. This allows you to assign the Position you create to multiple Readings at the same time. Tick the boxes for the relevant Readings.

Currently, you need to identify a Position in the same order (number) overall Readings if you are using it in multiple Readings.
e.g. Past, Present, Future Spread, and Success Spread. E.g:

Reading 1 – Past Present Future

Past = Order 1

Present = Order 2* (as in Reading below)

Future = Order 3

Reading 2 – Success Spread

Major concern or obstacle = Order 1

Present situation = Order 2* (as in Reading above)

Hidden Factors = Order 3

New Ideas or People that will help = Order 4

What you need to do so succeed = Order 5

You CANNOT use a different Order for the same Position over multiple Readings.

Click Publish to save the Position.

On the Positions index page, you will see which Readings are associated with each Position.


Create the Cards you will use in your Readings here. This is where you link Cards to Readings/Spreads.

Click on Add New Card

Add the title of the Card. This will display as the name of the Card on the Reading.

Text Box
Below the title, there is a text box. This is used to show definitions for the one Card Daily and Random Readings. If you do not enter any text here, nothing other than the Card will show. If you want the text to appear for these Readings, you must
enter it here on the original Card record.

Below the text box, the Settings tab displays all of the Readings that you defined in the Readings section of the
Card Oracle. Click the Readings in which you want to use this Card.

Front of Card Image
To the right of the text box, under the normal WordPress post options, you will see an option to Add Card Image. Click this,
select the image you want to associate with this Card.

Click on Publish to save the Card.

If you want to check which Card is assigned to which Reading if you click on the overall Cards tab in the Card Oracle menu,
you will see which Cards are associated with each Reading.
You must associate Cards with a Reading in order for their backs to display (and be selected) on the Reading on the front-end of the site. If you do not have the right number of Cards displaying for a particular Reading once you have configured it,
check here that all the Cards required are associated with the Reading.

Top Tip: On the Card index page, you will see the Number of Descriptions associated with each Card. This is a fast way to
check that all of the Cards have the right number of Descriptions.


This is the tab where you create individual Descriptions for a specific Card in a specific Position in a specific Reading.
The link between Position and Reading has already been made (Positions, above). The link between Card and Reading has already been made (Cards, above). This is where we link all three elements together.

Click on Add New Card Description.

Add a title for your Description. Make your Description title obvious in order to be able to identify exactly what it is.
This title will display on the Reading.

Text Box
Add the content you want to display when you display this specific Card in this specific Position of this specific Reading.

Select the Card you want to associate with this Description from the drop-down box. You must associate a Card with a
Description if you want the Description to display on the front end of the Reading.

Description Position
This displays all of the Positions available to you to associate with this Description. You can associate a single
Description with multiple Positions.

Click Publish to save the Description.

Top Tip: On this main Descriptions index page, you will see a list of Descriptions and the Positions with which you
have associated them.