{"id":378776,"date":"2026-10-10T10:20:49","date_gmt":"2026-10-10T10:20:49","guid":{"rendered":"https:\/\/en-gb.wordpress.org\/plugins\/global-variables-manager\/"},"modified":"2026-10-10T10:20:19","modified_gmt":"2026-10-10T10:20:19","slug":"sufilabs-global-variables-manager","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/sufilabs-global-variables-manager\/","author":23575485,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.1","stable_tag":"1.3.1","tested":"7.1.3","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"SufiLabs Global Variables Manager","header_author":"SufiLabs","header_description":"Create global values such as a phone number, address or business name once, then use them anywhere with a shortcode, a PHP function or an Elementor dynamic tag.","assets_banners_color":"7b99e0","last_updated":"2026-10-10 10:20:19","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/sufyanikram.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":51,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3.1":{"tag":"1.3.1","author":"iamsufyanikram","date":"2026-10-10 10:20:19","revision":3737887}},"upgrade_notice":{"1.3.1":"<p>All names now use the unique prefix gvmgr, including the shortcode [gvmgr key=&quot;...&quot;].<\/p>","1.3.0":"<p>Adds an uninstall data option and translation support. Your saved variables are kept as they are.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3737887,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3737887,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3737887,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3737887,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.3.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3737887,"resolution":"1","location":"assets","locale":"","width":1400,"height":760},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3737887,"resolution":"2","location":"assets","locale":"","width":1400,"height":560},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3737887,"resolution":"3","location":"assets","locale":"","width":1400,"height":810}},"screenshots":{"1":"The Global Variables screen: your variables in one table, each with its ready-to-copy shortcode.","2":"The Add a variable form and the optional uninstall setting.","3":"The Built automatically table showing generated phone, WhatsApp, email and map links, and the How to use section."}},"plugin_section":[],"plugin_tags":[2487,76538,252714,5304,80],"plugin_category":[43],"plugin_contributors":[285513],"plugin_business_model":[],"class_list":["post-378776","plugin","type-plugin","status-publish","hentry","plugin_tags-dynamic-content","plugin_tags-elementor","plugin_tags-global-variables","plugin_tags-phone-number","plugin_tags-shortcode","plugin_category-customization","plugin_contributors-iamsufyanikram","plugin_committers-iamsufyanikram"],"banners":{"banner":"https:\/\/ps.w.org\/sufilabs-global-variables-manager\/assets\/banner-772x250.png?rev=3737887","banner_2x":"https:\/\/ps.w.org\/sufilabs-global-variables-manager\/assets\/banner-1544x500.png?rev=3737887","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/sufilabs-global-variables-manager\/assets\/icon-128x128.png?rev=3737887","icon_2x":"https:\/\/ps.w.org\/sufilabs-global-variables-manager\/assets\/icon-256x256.png?rev=3737887","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/sufilabs-global-variables-manager\/assets\/screenshot-1.png?rev=3737887","caption":"The Global Variables screen: your variables in one table, each with its ready-to-copy shortcode."},{"src":"https:\/\/ps.w.org\/sufilabs-global-variables-manager\/assets\/screenshot-2.png?rev=3737887","caption":"The Add a variable form and the optional uninstall setting."},{"src":"https:\/\/ps.w.org\/sufilabs-global-variables-manager\/assets\/screenshot-3.png?rev=3737887","caption":"The Built automatically table showing generated phone, WhatsApp, email and map links, and the How to use section."}],"raw_content":"<!--section=description-->\n<p>Have you ever changed your phone number and then had to hunt through twenty pages to update it? Global Variables Manager fixes that. You type each piece of information <strong>once<\/strong>, on one screen. Everywhere that information appears on your site updates by itself.<\/p>\n\n<p><strong>How it works<\/strong><\/p>\n\n<ol>\n<li>Go to <strong>Global Variables<\/strong> in the WordPress admin menu.<\/li>\n<li>Add a variable, for example the key <code>phone_number<\/code> with your phone number as the value.<\/li>\n<li>Put <code>[gvmgr key=\"phone_number\"]<\/code> anywhere you can write content.<\/li>\n<\/ol>\n\n<p>That is all. Change the value later and every page follows.<\/p>\n\n<p><strong>Links are built for you<\/strong><\/p>\n\n<p>Phone, WhatsApp, email and address variables also create ready-made links automatically, so you never type <code>tel:<\/code>, <code>wa.me<\/code> or <code>mailto:<\/code> by hand:<\/p>\n\n<ul>\n<li>A <strong>Phone<\/strong> variable gives you an international-format number and a <code>tel:<\/code> link.<\/li>\n<li>A <strong>WhatsApp Number<\/strong> variable gives you a <code>wa.me<\/code> link (with an optional pre-filled message) and a readable number.<\/li>\n<li>An <strong>Email<\/strong> variable gives you a <code>mailto:<\/code> link.<\/li>\n<li>An <strong>Address<\/strong> variable gives you a one-line version, a Google Maps link and a directions link.<\/li>\n<\/ul>\n\n<p>These are never stored. They are worked out from the value you saved, so there is only ever one place to change.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Simple admin screen: add, edit and delete variables in one table.<\/li>\n<li>Seven types: Text, Textarea, Email, URL, Phone, WhatsApp Number and Address.<\/li>\n<li>Shortcode: <code>[gvmgr key=\"your_key\"]<\/code>.<\/li>\n<li>PHP function for theme developers: <code>gvmgr_get_variable( 'your_key' )<\/code>.<\/li>\n<li>Elementor dynamic tag (Site \u2192 Global Variable) for text fields and link fields. Elementor is optional.<\/li>\n<li>Automatic phone, WhatsApp, email and map links.<\/li>\n<li>All output is escaped, so a variable cannot inject code into your pages.<\/li>\n<li>No tracking, no ads, no external requests, no JavaScript on your site.<\/li>\n<li>Optional setting to delete all data when the plugin is deleted. Off by default.<\/li>\n<li>Translation-ready.<\/li>\n<\/ul>\n\n<h4>Good to know<\/h4>\n\n<ul>\n<li>Only users who can manage options (Administrators) can create or change variables.<\/li>\n<li>Anyone who can write a post or page can print any variable with the shortcode, and visitors can see every variable wherever you use it. Do not store passwords or API keys in this plugin.<\/li>\n<li>Phone numbers typed without a country code are assumed to belong to the United Kingdom (+44). If you are elsewhere, add a variable with the key <code>country_code<\/code> (for example <code>1<\/code> for the USA) and set it once.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin does not send any data anywhere and makes no requests to outside services.<\/p>\n\n<p>The automatically generated links point to third-party sites, but only when a visitor clicks them: WhatsApp (<code>https:\/\/wa.me\/<\/code>) for WhatsApp links, and Google Maps (<code>https:\/\/www.google.com\/maps\/<\/code>) for map and directions links. Nothing is sent to those services by your website or by this plugin. Once a visitor follows a link, that service's own terms and privacy policy apply: <a href=\"https:\/\/www.whatsapp.com\/legal\/\">WhatsApp<\/a> and <a href=\"https:\/\/policies.google.com\/privacy\">Google<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>In WordPress, go to <strong>Plugins \u2192 Add New<\/strong> and search for \"SufiLabs Global Variables Manager\".<\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong>.<\/li>\n<li>Open <strong>Global Variables<\/strong> in the admin menu.<\/li>\n<li>Fill in the starter variables (site name, address, phone, WhatsApp, email) or add your own, then click <strong>Save Changes<\/strong>.<\/li>\n<\/ol>\n\n<p>Manual install: upload the <code>sufilabs-global-variables-manager<\/code> folder to <code>\/wp-content\/plugins\/<\/code> and activate it on the <strong>Plugins<\/strong> screen.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20show%20a%20variable%20on%20a%20page%3F\"><h3>How do I show a variable on a page?<\/h3><\/dt>\n<dd><p>Add the shortcode where you want it, for example <code>[gvmgr key=\"phone_number\"]<\/code>. The key is shown in the <strong>Shortcode<\/strong> column of the Global Variables screen.<\/p><\/dd>\n<dt id=\"how%20do%20i%20use%20a%20variable%20in%20my%20theme%3F\"><h3>How do I use a variable in my theme?<\/h3><\/dt>\n<dd><p>In a theme file, use <code>&lt;?php echo gvmgr_get_variable( 'phone_number' ); ?&gt;<\/code>. The value is already escaped, so it is safe to echo directly.<\/p><\/dd>\n<dt id=\"how%20do%20i%20make%20a%20clickable%20phone%20number%3F\"><h3>How do I make a clickable phone number?<\/h3><\/dt>\n<dd><p>Set the variable's type to <strong>Phone<\/strong>. Then, in an Elementor Link field, click the dynamic tags icon, choose <strong>Site \u2192 Global Variable<\/strong> and pick the \"(auto)\" entry for the phone link. In a theme file, use <code>&lt;a href=\"&lt;?php echo esc_url( gvmgr_get_variable( 'phone_number_link' ) ); ?&gt;\"&gt;<\/code>. Shortcodes are not reliably processed inside link fields of the block editor, so the shortcode is best for visible text.<\/p><\/dd>\n<dt id=\"what%20keys%20are%20generated%20automatically%3F\"><h3>What keys are generated automatically?<\/h3><\/dt>\n<dd><p>For a variable with the key <code>phone_number<\/code>, the plugin creates <code>phone_number_e164<\/code> and <code>phone_number_link<\/code>. WhatsApp creates <code>_link<\/code> and <code>_display<\/code>. Email creates <code>_link<\/code>. Address creates <code>_one_line<\/code>, <code>_maps_link<\/code> and <code>_directions_link<\/code>. The <strong>Built automatically<\/strong> table on the settings screen lists every one with its current value.<\/p><\/dd>\n<dt id=\"can%20i%20pre-fill%20a%20whatsapp%20message%3F\"><h3>Can I pre-fill a WhatsApp message?<\/h3><\/dt>\n<dd><p>Yes. Create a variable with the key <code>whatsapp_message<\/code> (a Textarea works well). It is added to the WhatsApp link. To use a different message for one number, create a variable named after that number's key with <code>_message<\/code> on the end, for example <code>sales_whatsapp_message<\/code> for <code>sales_whatsapp<\/code>.<\/p><\/dd>\n<dt id=\"my%20phone%20number%20link%20has%20the%20wrong%20country%20code.\"><h3>My phone number link has the wrong country code.<\/h3><\/dt>\n<dd><p>Numbers without a country code are assumed to be UK (+44). Add a variable with the key <code>country_code<\/code> and a value such as <code>1<\/code> or <code>61<\/code>. You can also type the number with a plus sign, such as +1 555 010 9999, and it is used as it is.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20elementor%3F\"><h3>Does it work with Elementor?<\/h3><\/dt>\n<dd><p>Yes. On a text field or a Link field, click the dynamic tags icon and choose <strong>Site \u2192 Global Variable<\/strong>, then pick the variable. Elementor is not required. Without it the plugin still works with shortcodes and PHP.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20the%20block%20editor%20and%20block%20themes%3F\"><h3>Does it work with the block editor and block themes?<\/h3><\/dt>\n<dd><p>The shortcode works in the Shortcode block, in Paragraph blocks and in most text areas that process shortcodes. There is no dedicated block.<\/p><\/dd>\n<dt id=\"why%20does%20my%20shortcode%20show%20nothing%3F\"><h3>Why does my shortcode show nothing?<\/h3><\/dt>\n<dd><p>The key does not exist (check spelling and that it is lowercase), or the value is empty. A missing key prints nothing rather than an error.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20delete%20a%20variable%20that%20is%20used%20on%20my%20pages%3F\"><h3>What happens if I delete a variable that is used on my pages?<\/h3><\/dt>\n<dd><p>The shortcode simply prints nothing. Nothing breaks, but the text will be missing until you add the variable back.<\/p><\/dd>\n<dt id=\"can%20i%20put%20html%20in%20a%20variable%3F\"><h3>Can I put HTML in a variable?<\/h3><\/dt>\n<dd><p>No. Values are stored as plain text and shown as plain text, so HTML tags do not work. Textarea and Address values keep their line breaks.<\/p><\/dd>\n<dt id=\"is%20it%20safe%20to%20store%20secrets%20such%20as%20api%20keys%3F\"><h3>Is it safe to store secrets such as API keys?<\/h3><\/dt>\n<dd><p>No. Visitors can see any variable that is shown on a page, and anyone who can write posts can print any variable using the shortcode. Use it for public information only.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20if%20i%20uninstall%20it%3F\"><h3>What happens to my data if I uninstall it?<\/h3><\/dt>\n<dd><p>By default nothing is deleted. To remove everything when you delete the plugin, tick <strong>Delete all variables and settings when the plugin is deleted<\/strong> on the settings screen and save before deleting.<\/p><\/dd>\n<dt id=\"does%20it%20work%20on%20multisite%3F\"><h3>Does it work on multisite?<\/h3><\/dt>\n<dd><p>Yes. Each site has its own variables, managed by that site's administrators.<\/p><\/dd>\n<dt id=\"does%20it%20slow%20my%20site%20down%3F\"><h3>Does it slow my site down?<\/h3><\/dt>\n<dd><p>No. Variables live in one WordPress option that is loaded with the rest of your settings, and the plugin makes no extra database queries or web requests.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Changed: every name the plugin declares now starts with the unique prefix gvmgr. The shortcode is now [gvmgr key=\"...\"] and the saved options are gvmgr_global_variables and gvmgr_delete_data. The Elementor tag id is gvmgr-variable.<\/li>\n<li>Changed: the old gvm_ function names and the upgrade routine for private pre-1.2.0 installs were removed.<\/li>\n<li>Fixed: a number pasted as \"+44 (0)7700 900123\" produced a broken phone or WhatsApp link; the bracketed 0 is now ignored.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<li>New: option to delete all plugin data on uninstall (off by default).<\/li>\n<li>New: notice on the settings screen that variables are not for secrets.<\/li>\n<li>Improved: every visible text is translatable; a .pot file is included.<\/li>\n<li>Improved: saving can no longer clear your variables if a malformed request is received.<\/li>\n<li>Improved: damaged or incomplete stored data no longer causes PHP warnings.<\/li>\n<li>Improved: requires WordPress 6.0 and PHP 7.4.<\/li>\n<li>Fixed: the list of \"saved and generated\" keys showed literal code tags.<\/li>\n<\/ul>","raw_excerpt":"Save your phone number, address or business name once, then use it anywhere with a shortcode, a PHP function or an Elementor dynamic tag.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/378776","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=378776"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/iamsufyanikram"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=378776"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=378776"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=378776"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=378776"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=378776"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=378776"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}