Skip to content

Instantly share code, notes, and snippets.

@amboutwe
Last active May 23, 2022 17:09
  • Star 21 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save amboutwe/550c10ede7d065d9264930f5480ca748 to your computer and use it in GitHub Desktop.
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');
@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?

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