我在自己的WordPress博客上通过Graph Paper Press安装了一个名为“Mansion”的主题(free version)。一切都在顺利进行,但我想删除,禁用或以其他方式保持ALT和TITLE工具提示不会出现在用户端。
如果将字段留空,WordPress会在上传图像时自动从文件名生成TITLE属性。此外,TITLE和ALT都是由一个名为“获取图像”(Justin Tadlock)的脚本自动生成的,我很遗憾对代码禁用它的那个方面不够舒服(我需要它用于要运行的主题。)
我已经尝试了各种jQuery脚本来隐藏或删除属性,但绝对无济于事,我开始认为它可能是与主题本身相关的怪癖。有没有人有任何想法?我的博客位于http://www.ikukawachi.com/cvj341/wordpress/。
答案 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
不应该显示。
参考文献: