Как включить произвольный шорткод в Open Graph разметке Yoast SEO
Плагин Yoast SEO выводит Open Graph (OG) разметку страницы, чтобы превью вашей страницы красиво смотрелось в соц. сетях или мессенджерах.
Но есть проблема: если вы будете использовать в meta Title или Description полях плагина Yoast SEO свой произвольный шорткод (например актуальный год), то эти данные в разметке не будут "отрабатывать: шорткод выведется как [shortcode]
, т.е. в первоначальном виде.
Речь об этих полях:
Добавляем в functions.php такой кусок кода, который "заставит" работать шорткоды как нужно в полях OG-разметки:
add_filter('wpseo_title', 'support_wpseo_shortcodes');
add_filter('wpseo_opengraph_title','support_wpseo_shortcodes');
add_filter('wpseo_twitter_title', 'support_wpseo_shortcodes');
add_filter('wpseo_metadesc','support_wpseo_shortcodes',100,1);
add_filter('wpseo_twitter_description', 'support_wpseo_shortcodes',100,1);
function support_wpseo_shortcodes($content) {
return do_shortcode($content);
}
add_filter('wpseo_opengraph_desc','change_yoast_wpseo_opengraphdescription',10);
function support_wpseo_opengrap_shortcodes($description){
unset($description);
$opengrap_description = get_post_meta(get_the_ID(), '_yoast_wpseo_metadesc',true);
return do_shortcode($opengrap_description);
}
Если вы не знаете что за такая разметка и нафига в meta-полях шорткод, то вам эта статья не нужна. Просто расшарьте ее в социалках, чтобы ее нашли те, кому она полезна.