Вопрос или проблема
После прочтения этой и этой, я хочу удалить атрибут title из всех ссылок в своём блоге, так как это полезно с точки зрения доступности. Как это можно сделать?
ОБНОВЛЕНИЕ
Я нашёл решение как удалить атрибут title из изображений, но оно не работает для меня.
Вы хотите сохранить атрибут title для изображений? Если нет, вот код, который это исправит:
add_filter('the_content', 'remove_title_attr');
function remove_title_attr($text) {
// Получаем все теги title="..." из html.
$result = array();
preg_match_all('|title="[^"]*"|U', $text, $result);
// Заменяем все вхождения на пустую строку.
foreach($result[0] as $html_tag) {
$text = str_replace($html_tag, '', $text);
}
return $text;
}
Нашёл это здесь. Это работает на c9.io. Я полагаю, это сработает и в вашем случае.
Редактирование 1: Это удалит атрибут title из всего контента ваших записей. Вы хотите удалить его глобально из всех элементов?
Ответ или решение
Чтобы удалить атрибуты title у всех ссылок на вашем блоге, вы можете использовать PHP-код, который будет обрабатывать содержимое постов перед его отображением. Это решение подходит для платформы WordPress.
Вот как это можно сделать:
-
Откройте файл
functions.php
вашей активной темы. Вы можете найти этот файл в директории вашей темы:wp-content/themes/ваша_тема/functions.php
. -
Добавьте следующий код в конец файла:
add_filter('the_content', 'remove_title_attr');
function remove_title_attr($content) {
// Используем регулярное выражение для поиска всех атрибутов title в ссылках
$content = preg_replace('/\s*title=["\'][^"\']*["\']/', '', $content);
return $content;
}
Объяснение кода:
- add_filter(‘the_content’, ‘remove_title_attr’); — данный код добавляет фильтр, который будет применять функцию
remove_title_attr
ко всему содержимому постов перед его выводом. - preg_replace(‘/\stitle=["\’][^"\’]["\’]/’, ”, $content); — это регулярное выражение ищет и удаляет все атрибуты
title
, которые могут присутствовать в ссылках. Оно заменяет нахождение атрибутаtitle
на пустую строку.
Обратите внимание:
- Это решение удаляет атрибуты
title
у всех ссылок в содержимом ваших постов, но не затрагивает атрибутыtitle
у изображений или других элементов. Если вы хотите удалитьtitle
и из других элементов, вам нужно будет адаптировать регулярное выражение. - Всегда рекомендуется создавать резервную копию вашего файла
functions.php
перед внесением изменений, чтобы в случае ошибки вы могли легко восстановить предыдущую версию.
Если у вас есть дополнительные вопросы или требуется помощь, не стесняйтесь спрашивать.