WordPress как на ладони

Изменение html разметки элементов поста в WordPress

Как сделать так, чтобы к примеру в мой теме для wordpress была возможность обернуть все img из поста в div или добавить дополнительный класс к элементу?

К примеру wp выводит в html картинку поста по умолчанию вот так:

<figure>

<a href="link_url"><img class="aligncenter" src="img_url" alt=""></a>

</figure>

А мне нужно добавить к картинке еще один класс или обернуть ее в другой элемент

<div>

<a href="link_url"><img class="aligncenter my_class" src="img_url" alt=""></a>

</div>

Заранее спасибо!

Заметки к вопросу:
stepan 9 лет назад

Обертку - можно заменить на div. Она отключается.

Вас интересует замена в галереи ? или во всех изображениях, что есть в посте ?

rustorg 9 лет назад

вообще замена вывода любого контента из поста будь то html код картинки или просто h1 заголовка

0
rustorg
9 лет назад 14
  • 1
    stepan2278 www.weblancer.net/users/stepanko/?affili...

    В регулярных выражениях не силен, но вот пример из плагина Auto Highslide:

    /* Add HighSlide Image Code */
    add_filter('the_content', 'addhighslideclass_replace');
    function addhighslideclass_replace ($content)
    {   global $post;
    	$pattern = "/<a(.*?)href=('|\")([^>]*).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>(.*?)<\/a>/i";
    	$replacement = '<a$1href=$2$3.$4$5 class="highslide-image" onclick="return hs.expand(this);"$6>$7</a>';
    	$content = preg_replace($pattern, $replacement, $content);
    	return $content;
    }

    Если картинка обернута ссылкой, то к ссылке добавляется класс highslide-image.
    Я Вам дал начало - дальше можете глубже "копать".

    rustorg 9 лет назад

    те только через прогонку всего контента через герулярку?
    что то я сомневаюсь в том что это решение без кеширования будет производительно работать, неужели в wp нет другого способа?

    stepan 9 лет назад

    Если "поднапрячься" и подумать, то поймете что не только в WP, но и в других системах другого способа нет.

    А как Вы себе представляете фильтр данных, что лежит в БД ?

    Что не напрягать фронтенд - можно регулярку использовать при сохранение поста, то есть в админки.

    Фильтр (хук) - save_post

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация