Проблемы с удалением подсказки ALT / TITLE - тема WordPress - PullRequest
0 голосов
/ 15 апреля 2011

Я установил тему под названием «Особняк» ( бесплатная версия ) от Graph Paper Press в своем блоге на WordPress.Все работает гладко, но я хотел бы удалить, отключить или иным образом предотвратить появление всплывающих подсказок ALT и TITLE на стороне пользователя.

WordPress автоматически генерирует атрибут TITLE из имени файла при загрузке изображений, еслиВы оставляете поле пустым.Кроме того, и TITLE, и ALT автоматически генерируются сценарием «Get the Image» (Джастин Тэдлок) для этой темы, и я, к сожалению, недостаточно удобен с кодом, чтобы отключить только этот его аспект (он мне нужен длятема для запуска).

Я пробовал множество сценариев jQuery, чтобы скрыть или удалить атрибуты, но безрезультатно, и я начинаю думать, что это может быть причудой, связанной с самой темой.У кого-нибудь есть какие-либо идеи?Мой блог находится по адресу http://www.ikukawachi.com/cvj341/wordpress/.

Ответы [ 2 ]

3 голосов
/ 10 марта 2012

JavaScript не требуется:

add_filter( 'wp_get_attachment_image_attributes', 'remove_image_text'); 
function remove_image_text( $attr ) {
    unset($attr['alt']);
    unset($attr['title']);
    return $attr;
}
2 голосов
/ 15 апреля 2011

Пока у вас есть jQuery, вы можете попробовать:

$('img[title], img[alt]').removeAttr('title').removeAttr('alt');

Это работает в консоли Chromium 10 на Ubuntu 10.10.

<ч /> Отредактировано в ответ на комментарий @Iku:

Привет, спасибо за помощь. К сожалению, я удостоверился, что поставил в очередь встроенную библиотеку jQuery и добавил предложенный вами код, но он все еще не работает. (Это в источнике, если вы хотите посмотреть на сайт.) Это может показаться глупым вопросом, но нужно ли размещать код в определенном месте на странице, чтобы он работал? Если да, то где?

Указанный выше jQuery должен находиться внутри:

$(document).ready(
    function(){
        $('img[title], img[alt]').removeAttr('title').removeAttr('alt');
    });

Или:

$(window).load(
    function(){
        $('img[title], img[alt]').removeAttr('title').removeAttr('alt');
    });

Разница между ними заключается в том, что $(document).ready() происходит, когда DOM загружен и готов; в то время как $(window).load() происходит после загрузки ресурсов, связанных с этой страницей, таких как img элементы.

Чтобы протестировать браузер, откройте консоль JavaScript ( ctrl + shift + i в Chrome / Chromium / Safari) и вставьте следующее в консоль:

var s = document.createElement('script'); s.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js'; document.getElementsByTagName('head')[0].appendChild(s);

Нажмите , введите и вставьте следующее:

$('img[title], img[alt]').removeAttr('title').removeAttr('alt');

После этого вы сможете навести любой элемент img и не видеть title, а вместо отсутствующего изображения alt не должно отображаться.

Ссылки:

...