Добавить HTML ко всем гиперссылкам Wordpress изображений, как в галереях - PullRequest
0 голосов
/ 07 января 2020

Я использую плагин 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" ко всем изображениям с гиперссылками, как в блоке галереи и отдельных изображениях?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...