删除ALT / TITLE工具提示的问题 - WordPress主题

时间:2011-04-15 01:06:55

标签: jquery wordpress tooltip title alt

我在自己的WordPress博客上通过Graph Paper Press安装了一个名为“Mansion”的主题(free version)。一切都在顺利进行,但我想删除,禁用或以其他方式保持ALT和TITLE工具提示不会出现在用户端。

如果将字段留空,WordPress会在上传图像时自动从文件名生成TITLE属性。此外,TITLE和ALT都是由一个名为“获取图像”(Justin Tadlock)的脚本自动生成的,我很遗憾对代码禁用它的那个方面不够舒服(我需要它用于要运行的主题。)

我已经尝试了各种jQuery脚本来隐藏或删除属性,但绝对无济于事,我开始认为它可能是与主题本身相关的怪癖。有没有人有任何想法?我的博客位于http://www.ikukawachi.com/cvj341/wordpress/

2 个答案:

答案 0 :(得分:3)

无需javascript:

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

答案 1 :(得分:2)

只要你有jQuery可用,你可以尝试:

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

这适用于Ubuntu 10.10上Chromium 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');
    });

两者之间的区别在于,当加载DOM并准备就绪时会发生$(document).ready();一旦链接到页面上的资源(例如$(window).load()元素)已加载,就会出现img

要测试您的浏览器,请在Chrome / Chromium / Safari中打开JavaScript控制台( ctrl + shift + i ),然后粘贴进入控制台:

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不应该显示。

参考文献: