Primo Vars
Your phone number, email address and social links, defined once on one settings screen and output anywhere with a shortcode or block.
Use with caution
Primo Vars works, but test it on a staging site before relying on it in 2026. Was last updated 1 month ago, and scores 60/100 on our health check.
- Tested with the latest WordPress (7.1)
- Small user base (<10 active installs)
- Very few reviews so far
How does it stack up?
Side-by-side on installs, updates, ratings & supportDaily downloads
Download spikes usually follow a new release — each site that auto-updates counts as a download.
Rankings
Where Primo Vars stands todayWordPress.org search rankings
Live position in the plugin search, top 100| Keyword | Position |
|---|---|
| contact details | >100 |
| >100 | |
| phone | >100 |
| shortcode | >100 |
| variables | >100 |
About Primo Vars
From the official readme · v1.0.0Description
Contact details have a habit of appearing on a dozen pages. When the phone number or email changes, you get to find every one of them – a real pain!
Primo Vars fixes that. Define a value once on a single settings screen, give it a name, and use its shortcode wherever you need it. Change the value and every page follows.
Each variable has a type, and the type does the fiddly work for you:
- Phone: renders a tappable
tel:link, while displaying the number exactly as you typed it, brackets, spaces, country code and all. - Email: renders a
mailto:link with the address obfuscated against scrapers. - Link: renders an anchor, with an optional custom label.
- Address: a multi-line field that keeps your line breaks.
- Multi-line text: the same, for opening hours, a disclaimer, anything that runs to more than one line.
- Text: renders plain text, for anything else.
Usage
[primo_var key="phone"]
[primo_var key="email"]
[primo_var key="facebook" text="Follow us"]
[primo_var key="phone" raw="1"]
raw="1" returns the plain value with no link, for when you are building your own markup around it.
In a theme template:
<?php echo primo_vars_get( 'phone' ); ?>
<?php echo primo_vars_get( 'phone', true ); // raw ?>
In the block editor
Insert the Primo Var block, pick a variable from the dropdown, and it
renders exactly what the shortcode would. Use the shortcode when you want a
value inline in a sentence, and the block when it stands on its own.
Starter variables
A fresh install creates seven empty variables to fill in: phone, email,
address, facebook, instagram, linkedin and youtube. Delete the ones you do not
want, or add your own. A YouTube channel is just a Link, the same as any other
social profile.
For developers
Filter primo_vars_output to change what any variable renders, from the
shortcode, the block and primo_vars_get() alike. It fires for a variable
that is defined but left empty, which is what the example below relies on;
it does not fire for a key that is not defined at all, since all three entry
points return an empty string before reaching this filter in that case.
add_filter( 'primo_vars_output', function ( $html, $var, $atts ) {
if ( '' === $html && 'phone' === $var['type'] ) {
return 'Call the office';
}
return $html;
}, 10, 3 );
The HTML handed to the filter is already escaped. Anything your callback adds
is yours to escape.
Phone numbers with extra text
Real phone numbers are messy. +61 491 570 156 Option 2 and (08) 8123 1234 both display exactly as typed, and both produce a correct dial link. The trailing “Option 2” is not dialled.
Where the number cannot be worked out automatically, no link is shown rather than a wrong one. That covers vanity numbers like 1300 PRIMO, and two numbers written in one field such as (08) 8123 1234 (0412 345 678). Fill in the optional Dial as field on that row and it will link exactly as you specify.
Installation
- Upload the plugin to
/wp-content/plugins/and activate it. - Go to Settings → Primo Vars.
- Fill in the values for the starter variables, or add your own.
Frequently asked questions
What happens if I use a shortcode for a variable I have not filled in?
Nothing renders. Visitors never see a placeholder or an error message.
Why was my web address rejected?
A link needs its scheme, so use https://facebook.com/you rather than facebook.com/you. The plugin tells you which variable it refused and leaves the old value in place rather than saving something that would not work.
Does this work in widgets?
Yes. Widget areas have been block-based since WordPress 5.8, so add the Primo Var block, or a Shortcode block holding [primo_var], to any widget area or site editor template. Navigation menu labels are the exception: WordPress does not run shortcodes there, and this plugin deliberately does not add a filter to make it, because broad do_shortcode() filters widen the injection surface for everyone.
Does it phone home?
No. No external requests, no tracking.
For developers
Is this your plugin? Show off the numbers.
Add a live badge to your site, docs or GitHub README. It updates on its own — no account needed.
Best Primo Vars alternatives
All contact details plugins →FAQ
Primo Vars: quick answers
Straight answers, pulled from live WordPress.org data.
Live data from WordPress.org · checked Oct 10, 2026
Is Primo Vars free?
Yes. Primo Vars is free to download and use from the official WordPress.org plugin directory.
Is Primo Vars safe to use in 2026?
Primo Vars works, but test it on a staging site before relying on it in 2026. Was last updated 1 month ago, and scores 60/100 on our health check.
How many websites use Primo Vars?
Primo Vars is active on <10 WordPress websites and has been downloaded 153 times since it launched in August 2026. It was downloaded 73 times in the last 30 days.
Does Primo Vars work with WordPress 7.1?
Yes. The developer has tested Primo Vars up to WordPress 7.1.3, the latest release. It requires WordPress 6.3 or newer.
What PHP version does Primo Vars need?
Primo Vars requires PHP 7.4 or higher. Most hosts run PHP 8.x today, so it works on any modern WordPress hosting.
When was Primo Vars last updated?
The latest version, 1.0.0, was released on August 30, 2026 (1 month ago).
Who makes Primo Vars?
Primo Vars is developed and maintained by Primo WP.
What are the best alternatives to Primo Vars?
The most popular alternatives to Primo Vars are EzBizi (100+ installs), Remote Dashboard Widget (10+ installs) and ContactSweep by Rank Secure (<10 installs).
Powered by PageForge
Want thousands of pages that rank like these? Build them in an afternoon.
This directory runs on the same engine as PageForge. Turn any spreadsheet, CSV or API into thousands of fast, SEO-ready WordPress pages — with schema, internal links and AI-written copy baked in.
- CSV, Google Sheets & API data sources
- AI content, schema & internal links per page
- Works with Elementor, Gutenberg, Yoast & Rank Math
- Free on WordPress.org — no credit card


