Skip to content

Instantly share code, notes, and snippets.

@amboutwe
Last active March 25, 2025 11:02
Change existing or add custom title or meta template variables
<?php
/********* DO NOT COPY THE PARTS ABOVE THIS LINE *********/
/* Remove Yoast SEO Change existing title or meta template variable
* Credit: Moshe Harush
* https://stackoverflow.com/questions/36281915/yoast-seo-how-to-create-custom-variables
* Last Tested: Unknown
*/
// define the wpseo_replacements callback
function filter_wpseo_replacements( $replacements ) {
if( isset( $replacements['%%page%%'] ) ){
$replacements['%%page%%'] = 'Page x of y';
}
return $replacements;
};
// Add filter
add_filter( 'wpseo_replacements', 'filter_wpseo_replacements', 10, 1 );
<?php
/********* DO NOT COPY THE PARTS ABOVE THIS LINE *********/
/* Remove Yoast SEO Add custom title or meta template variables
* Credit: Moshe Harush
* https://stackoverflow.com/questions/36281915/yoast-seo-how-to-create-custom-variables
* Last Tested: Nov 29 2018 using Yoast SEO 9.2.1 on WordPress 4.9.8
*******
* NOTE: The snippet preview in the backend will show the custom variable '%%myname%%'.
* However, the source code of your site will show the output of the variable 'My name is Moses'.
*/
// define the custom replacement callback
function get_myname() {
return 'My name is Moses';
}
// define the action for register yoast_variable replacments
function register_custom_yoast_variables() {
wpseo_register_var_replacement( '%%myname%%', 'get_myname', 'advanced', 'some help text' );
}
// Add action
add_action('wpseo_register_extra_replacements', 'register_custom_yoast_variables');
@amboutwe
Copy link
Author

amboutwe commented Nov 3, 2018

@mrayushh The snippet preview in the backend will show the custom variable %%myname%%. However, the source code of your site will show the output of the variable My name is Moses.

@devolkpl
Copy link

It's still unsolved bug from Yoast. The value appears in source code but not on the snippet preview.

@skpa2s
Copy link

skpa2s commented Sep 16, 2019

yo pongo 1 codigo y todo perfecto, pero al ponerlo varias veces, se cae todo wordpress, help!!

@skpa2s
Copy link

skpa2s commented Sep 16, 2019

I put 1 code and everything perfect, but when you put it several times, all wordpress falls, help !!

/ TITULO SEO 1

// define the custom replacement callback
function get_titulose1() {
return 'dsgshh';
}
// define the action for register yoast_variable replacments
function register_custom_yoast_variables() {
wpseo_register_var_replacement( '%%titulose1%%', 'get_titulose1', 'advanced', 'titulo seo parte 1' );
}
// Add action
add_action('wpseo_register_extra_replacements', 'register_custom_yoast_variables');

// TITULO SEO 2

// define the custom replacement callback
function get_titulose2() {
return 'shgshsh';
}
// define the action for register yoast_variable replacments
function register_custom_yoast_variables() {
wpseo_register_var_replacement( '%%titulose2%%', 'get_titulose2', 'advanced', 'titulo seo parte 2' );
}
// Add action
add_action('wpseo_register_extra_replacements', 'register_custom_yoast_variables');

// META SEO 1

// define the custom replacement callback
function get_metaseo1() {
return 'nfnfnf';
}
// define the action for register yoast_variable replacments
function register_custom_yoast_variables() {
wpseo_register_var_replacement( '%%metaseo1%%', 'get_metaseo1', 'advanced', 'meta 1 ' );
}
// Add action
add_action('wpseo_register_extra_replacements', 'register_custom_yoast_variables');

// META SEO 2

// define the custom replacement callback

@viniciusvts
Copy link

thank you, this code help me to resolve an detail in my project

@maheshwaghmare
Copy link

I have created a quick article with screenshot and example variable current year and current month.

Read more https://maheshwaghmare.com/doc/yoast-seo-custom-template-variable/

@erikyo
Copy link

erikyo commented Mar 19, 2021

@amboutwe it is possible to render the custom template variables in the snippet preview? thanks!

@erikyo
Copy link

erikyo commented Aug 11, 2021

if someone needs to replace the custom variables also in the backend snippet preview, this is an example
https://gist.github.com/erikyo/53ec6a1b2264135dae95e866194a0a8a

@dtw
Copy link

dtw commented Sep 21, 2021

How would I duplicate an existing template variable and modify it?

Or, in other words, how can I access $replacements['%%category_description%%'] in my replacement callback function?

@EclipseMarketingUk
Copy link

Ah so this is really just a wrapper for the yomama and not a generic solution for any custom field i add. While it is nice it shows the value (although it does say undefined and a random number) it is not really suitable for an app where we wish to add 10 of these custom fields to use?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment