Title: Primo Vars
Author: Primo WP
Published: <strong>2026-يىلى 30-ئاۋغۇست</strong>
Last modified: 2026-يىلى 30-ئاۋغۇست

---

قىستۇرما ئىزدە

![](https://ps.w.org/primo-vars/assets/banner-772x250.png?rev=3673130)

![](https://ps.w.org/primo-vars/assets/icon-256x256.png?rev=3673130)

# Primo Vars

 يازغۇچى [Primo WP](https://profiles.wordpress.org/zurtri/)

[چۈشۈر](https://downloads.wordpress.org/plugin/primo-vars.1.0.0.zip)

 * [تەپسىلاتلار](https://ug.wordpress.org/plugins/primo-vars/#description)
 * [باھالاشلار](https://ug.wordpress.org/plugins/primo-vars/#reviews)
 *  [ئورنىتىش](https://ug.wordpress.org/plugins/primo-vars/#installation)
 * [ئىجادىيەت](https://ug.wordpress.org/plugins/primo-vars/#developers)

 [قوللاش](https://wordpress.org/support/plugin/primo-vars/)

## چۈشەندۈرۈش

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.

## ئېكران كەسمىسى

[⌊The Primo Vars settings screen.⌉⌊The Primo Vars settings screen.⌉[

The Primo Vars settings screen.

[⌊The Primo Var block in the editor.⌉⌊The Primo Var block in the editor.⌉[

The Primo Var block in the editor.

[⌊Contact details rendered on the front end.⌉⌊Contact details rendered on the front
end.⌉[

Contact details rendered on the front end.

## بۆلەك

بۇ قىستۇرما 1 بۆلەك تەمىنلەيدۇ.

 *   Primo Var Output a variable defined under Settings, Primo Vars.

## ئورنىتىش

 1. Upload the plugin to `/wp-content/plugins/` and activate it.
 2. Go to **Settings  Primo Vars**.
 3. Fill in the values for the starter variables, or add your own.

## FAQ

### 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.

## باھالاشلار

بۇ قىستۇرمىغا تېخى باھا يېزىلمىدى.

## تۆھپىكار ۋە ئىجادكار

«Primo Vars» كودى ئوچۇق يۇمشاق دېتال. تۆۋەندىكى كىشىلەر بۇ قىستۇرمىغا تۆھپە قوشقان.

تۆھپىكار

 *   [ Primo WP ](https://profiles.wordpress.org/zurtri/)

[«Primo Vars» نى تىلىڭىزغا تەرجىمە قىلىڭ](https://translate.wordpress.org/projects/wp-plugins/primo-vars)

### ئىجادىيەتكە قىزىقامسىز؟

[كودقا كۆز يۈگۈرتۈپ](https://plugins.trac.wordpress.org/browser/primo-vars/)، [SVN خەزىنە](https://plugins.svn.wordpress.org/primo-vars/)
تەكشۈرۈپ ياكى [RSS](https://plugins.trac.wordpress.org/log/primo-vars/?limit=100&mode=stop_on_copy&format=rss)
ئارقىلىق [ئىجادىيەت خاتىرىسى](https://plugins.trac.wordpress.org/log/primo-vars/)
گە مۇشتەرى بولغىلى بولىدۇ.

## ئۆزگىرىش خاتىرىسى

#### 1.0.0

 * First release.

## Meta

 *  Version **1.0.0**
 *  ئاخىرقى يېڭىلانغان ۋاقىت **1 ھەپتە بۇرۇن**
 *  ئاكتىپ ئورنىتىش سانى **10 دىن ئاز**
 *  WordPress نەشرى ** 6.3 ياكى يۇقىرى **
 *  **7.1** دا سىنالغان
 *  PHP نەشرى ** 7.4 ياكى يۇقىرى **
 *  تىل
 * [English (US)](https://wordpress.org/plugins/primo-vars/)
 * بەلگە
 * [contact details](https://ug.wordpress.org/plugins/tags/contact-details/)[email](https://ug.wordpress.org/plugins/tags/email/)
   [phone](https://ug.wordpress.org/plugins/tags/phone/)[shortcode](https://ug.wordpress.org/plugins/tags/shortcode/)
   [variables](https://ug.wordpress.org/plugins/tags/variables/)
 *  [ئالىي كۆرۈنۈش](https://ug.wordpress.org/plugins/primo-vars/advanced/)

## دەرىجە

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/primo-vars/reviews/#new-post)

[بارلىق ئىنكاسنى كۆرسەت](https://wordpress.org/support/plugin/primo-vars/reviews/)

## تۆھپىكار

 *   [ Primo WP ](https://profiles.wordpress.org/zurtri/)

## قوللاش

چۈشەندۈرۈشىڭىز بارمۇ؟ ياردەم لازىممۇ؟

 [قوللاش مۇنبىرىنى كۆرسەت](https://wordpress.org/support/plugin/primo-vars/)