2011-04-15 78 views
0

我在我自己的WordPress博客上安装了由Graph Paper Press主题名为“Mansion”(free version)的主题。一切运行平稳,但我想删除,禁用或以其他方式保持ALT和TITLE工具提示不出现在用户端。删除ALT/TITLE工具提示时出现问题 - WordPress主题

如果您将字段留空,WordPress会在上传图片时自动从文件名中生成TITLE属性。此外,TITLE和ALT都是由一个名为“获取图像”(Justin Tadlock)的脚本自动生成的,并且我很不习惯使用代码来禁用它的某个方面(我需要它用于主题运行)。

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

回答

2

只要你拥有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'); 
    }); 

这两者之间的区别在于,DOM加载时$(document).ready()发生,并且准备;而$(window).load()则会在加载页面上链接的资源(如img元素)后发生。

要测试你的浏览器,打开JavaScript控制台(CTRL + 转变 + 在Chrome /铬/ 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'); 

此后,您sh应该能够悬停任何img元素并且看不到title,并且在丢失图像的位置不应该显示alt

参考文献:

+0

您好,感谢您的帮助。不幸的是,我确定我已经入选了内置的jQuery库并添加了你建议的代码,但它似乎仍然没有工作。 (它的来源,如果你想看看[网站](http://www.ikukawachi.com/cvj341/wordpress/)。) 这可能看起来像一个愚蠢的问题,但代码需要放置在页面的特定位置才能使用?如果是这样,在哪里? – 2011-04-15 16:36:37

+0

我upvoted这篇文章,因为如果它的格式良好的内容,但有钩,这将做同样的事情服务器端。看到我的答案。 ('jQuery 1.7+): '$('img')。filter('[alt],[title]')。removeAttr('title alt');' – 2012-03-10 14:01:30

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

Nicely done =)和** + 1 ** – 2012-03-10 16:10:16