WORDPRESS: Přidání atributů do tagu v příspěvku

WordPress Logo
Při výpisu obsahu příspěvku, můžeme někdy pociťovat potřebu přidat nějaké atributy do tagů. Nedávno jsem na Českém Fóru WordPressu nalezl vlákno, kde uživatel potřebuje přidat atribut pro označení obrázku pro Facebook ( property=”og:image” ). Tak přidávám návod, jak nahrazovat či přidávat podobné věci. Základem bude využití PHP funkce preg_replace() a WordPress filtru the_content.
Trochu z teorie jak to bude fungovat- díky filtru si vytáhneme celý obsah příspěvku- poté najdeme tag img a za něj přidáme mezeru a námi požadovaný text ( property=”og:image” ). Ostatní část kódu zajišťuje, aby se funkce neprovedla mimo samostatný příspěvek, nevím zda by to bylo k dobru povolit pro veškeré stránky.
Tato ukázka doslova řeší problém popsaný výše, však menši modifikace snad nahradí většinu požadavků podobného typu.
Následující kód vložíme do souboru functions.php ve složce naší šablony.
function add_fb_img_atr($content) {
if (!is_page() && !is_feed() && !is_home()) {
$content = preg_replace('/<img(.*)>/','<img property="og:image" $1>',$content,2);
} return $content;
}
add_filter('the_content', 'add_fb_img_atr');
Tip:Poslední (numerický) argument funkce preg_replace() nám udává, kolikrát má být výměna provedena, hodnota ‘-1’ udává bez omezení.