Я использую плагин Lightbox-esque на своем веб-сайте для увеличения изображений, когда пользователь нажимает на них. Для этого sh я добавляю rel="highslide" class="highslide"
ко всем изображениям с помощью функций. php файл в Wordpress.
function add_highslide_attr( $html ) {
preg_match_all('/(<a[^>]*>)(.*)/i', $html, $result);
if( !isset($result) || !isset($result[1][0]) || ! $result[1][0] )
return $html;
$anchor = $result[1][0];
if( strstr($anchor, 'rel=') )
$anchor = str_replace('rel="', 'rel="highslide ', $anchor);
else
$anchor = str_replace('href=', 'rel="highslide" href=', $anchor);
if( strstr($anchor, 'class=') )
$anchor = str_replace('class="', 'class="highslide ', $anchor);
else
$anchor = str_replace('href=', 'class="highslide" href=', $anchor);
$html = $anchor . $result[2][0];
return $html;
}
add_filter( 'image_send_to_editor', 'add_highslide_attr', 10 );
Я только что обновил свой Wordpress и теперь использую редактор блоков. Однако код больше не работает, и я не могу понять, почему. Я думаю, что код изначально работал, изменяя HTML до того, как он был вставлен в Wordpress, но Wordpress теперь имеет свой собственный специальный шорткод для рендеринга галерей и тому подобного. Хотя я не уверен.
Может кто-нибудь помочь мне добавить rel="highslide" class="highslide"
ко всем изображениям с гиперссылками, как в блоке галереи и отдельных изображениях?