Удалите все атрибуты заголовков ссылок.

Вопрос или проблема

После прочтения этой и этой, я хочу удалить атрибут 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.

Вот как это можно сделать:

  1. Откройте файл functions.php вашей активной темы. Вы можете найти этот файл в директории вашей темы: wp-content/themes/ваша_тема/functions.php.

  2. Добавьте следующий код в конец файла:

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 перед внесением изменений, чтобы в случае ошибки вы могли легко восстановить предыдущую версию.

Если у вас есть дополнительные вопросы или требуется помощь, не стесняйтесь спрашивать.

Оцените материал
Добавить комментарий

Капча загружается...