Удалить атрибут title из изображений

Я ищу способ удалить атрибут title из изображений, желательно с помощью крючка или фильтра.

Большинство клиентов не утруждают себя предоставлением изображений правильному названию, тем самым устраняя цель этого атрибута. Я предпочитаю никаких подсказок для случайных, не описательных.

Solutions Collecting From Web of "Удалить атрибут title из изображений"

Я бы решительно отговаривал это. Лучшей, более устойчивой практикой было бы обучение ваших клиентов по значению атрибута title и научить их правильно использовать его.

Просто удаляя, он кладет повязку на симптом, а не борется с болезнью.

Однако, если вы все равно хотите удалить атрибут, есть несколько способов сделать это:

Использовать фильтр содержимого

Сообщение отправляется через фильтр перед отображением на экране. Этот фильтр будет делать несколько вещей: преобразовать кавычки в фигурные кавычки, заглавные буквы P в WordPress и т. Д. Он также обрабатывает короткие коды, которые присутствуют в контенте.

Вы можете передать свой контент через фильтр, который использует регулярные выражения, чтобы найти теги <img /> и удалить атрибут title .

Использование плагина

Быстрый поиск в подключаемом репозитории возвратил Img Title Removal , плагин, который утверждает, что делает именно то, что вы хотите. Быстрый просмотр кода показывает, что он делает вариант 1 точно:

 <?php /* Plugin Name: Img Title Removal Plugin URI: http://www.glauserconsulting.com/2008/11/nu-agency/ Description: Filter plugin that removes all title tags from images in posts. Author: Ivan Glauser Version: 0.2.1 Author URI: http://www.glauserconsulting.com */ add_filter('the_content', 'remove_img_titles'); function remove_img_titles($text) { // Get all title="..." tags from the html. $result = array(); preg_match_all('|title="[^"]*"|U', $text, $result); // Replace all occurances with an empty string. foreach($result[0] as $img_tag) { $text = str_replace($img_tag, '', $text); } return $text; } ?> 

Использовать JavaScript

Третьим вариантом будет динамическое удаление атрибутов title после их отображения на странице. Если вы абсолютно должны удалить их, это система, которую я бы рекомендовал, потому что title все еще будет в HTML-коде (для чтения с экрана), но будет удален, когда документ загрузится, чтобы избежать «случайных, не описательных» всплывающих подсказок ,

Используя jQuery, вы можете выбрать все элементы <img /> на странице с атрибутом title и удалить его. Пример:

 jQuery(document).ready(function($) { $('img[title]').each(function() { $(this).removeAttr('title'); }); }); 

Вот решение non-js без взлома ядра, попробуйте это в своих файлах function.php тем.

 add_filter( 'wp_get_attachment_image_attributes', 'remove_image_text' ); function remove_image_text( $attr ) { unset( $attr['alt'] ); unset( $attr['title']) ; return $attr; } 

Если вы хотите, чтобы поле заголовка <input> пустое и не загружалось автоматически с именем файла при загрузке изображения, вот что:

Перейти к wp-admin / includes / media.php

Строка 911 <input type='text' class='text urlfield' name='attachments[$post->ID][url]' value='" . esc_attr($url) . "' /><br />

Измените его на: <input type='text' class='text urlfield' name='attachments[$post->ID][url]' value='' /><br />

У меня также есть много клиентов, которые не заботятся об этом.