WooCommerce控制产品页面结构的模版位于woocommerce/templates/single-product目录下,本文介绍让产品图片显示为原图,并移除图片链接的方法。

改变产品图片尺寸

WordPress默认的图片尺寸有thumbnail, medium, large 和 full, WooCommerce默认的产品图片尺寸是shop_single。下面代码演示如何将产品图片尺寸从shop_single改成full,即显示原图片。

add_filter( 'single_product_large_thumbnail_size', 'wc_single_product_size' );
function wc_single_product_size(){
	return 'full';
}

移除产品图片链接

add_filter( 'woocommerce_single_product_image_html', 'wc_remove_product_image_url' );
function wc_remove_product_image_url( $html ){
	return strip_tags( $html, '<img>');
}

关于文中用到的filters,参考woocommerce模版目录下的product-image.php文件。

32条留言

  1. 你好,想请教一下
    我的woocommerce商品页无法正确应用lightbox,尝试过禁用了woocommerce自带的,然后安装了其他发现一样无效。查了些资料,觉得应该是jquery跟其他的库有冲突,但我这边并没有prototype.js,没有经验也没有头绪,请问可否帮忙解决一下呢?

    1. 既然没经验那就找插件吧,不然以后升级很麻烦。

  2. 你好,sola,向您请教一个问题,在WC的产品页面,有很多模块是我不需要的,我想将他移除,请问我该修改哪些文件,删除那些内容?

  3. 还有2个问题请教下:

    CodeStyling Localization

    这个插件我用了,想要把Wootique的主题汉化,但是里面出来的英文,好像不是主题界面的英文,而是帮助文件这些。请问如何汉化Wootqiue界面?

    比如我要搜 Clear selection, 在翻译插件中找不到这个词。

    另外,装了改变permlink为数字的插件后,点击目录,会出现404找不到。帖子正常。

    1. 第二个问题自行解决了,要把

      Permalink Setting for custom post type 中 product 这里改为

      /%product_cat%/%post_id%

      而不是

      /%post_id%

      要不然就会出现点击分类,404错误

    2. Clear selection是WooCommerce插件的字符串,需要去翻译插件,要是都翻译一遍工作量蛮大的。

      1. 那我就把客户能看到的搜索一下,翻译。是这样吧?

      2. 你之前说的woocommerce有翻译版了?不知从那里下载。网上搜的有些不敢用。

        1. 可以用,又没有病毒,你可以在那个基础上改啊,省老多时间了。不然你就只能搜一下,改一下,就像你说的,把前台能看到的都翻译了。

          1. 我自己搜的翻译了2个,发现不能显示。
            WordPress已设置为中文版。

            Woocommerce要不要指定什么语言类型,才能显示汉语?

          2. 在COSL折腾了半天,注册后发现要捐助199元才能下载。

        2. 看来咱俩找的不是一个地方。翻译完了记得generate mo

  4. SOLA,把上面的第二部份COPY到主题FUNCTION.PHP里但是产品图片的URL还存在哟

    1. SOLA,搞定了,不好意思,是缓存的问题,上面的代码可用,谢谢

      1. 我很幸运的先看到这条评论^_^

        1. 哈哈,谢谢你才是真,最新版的WooCommerce昨天出来了,好象也没什么新功能

  5. 我是男生,无特殊癖好,只求网站修改,请问你husband的联系方式。我的邮件就是你看到的这个。

  6. 谢谢 solagirl 的帮助。用了woocommerce免费的主题,单页商品的图像自动缩小了。那就保持这样吧。

    中文博客和页面中,你的博客 woocommerce的了解和研究非常详尽,也促成我从 ecshop 转到这个平台。

    我的专长大概你也了解了,希望能交个朋友,如果需要我的帮助,请随时告诉我。

    1. 乐意之至,你的专长是VPS购买和架设吗?这个正好是我的短板,如果有需要我会虚心请教^_^

      1. 呵呵,我的专业是English,一直想搞IT为生,未遂。

        1. 英语很不错啊,为什么要转行,我的梦想之一就是能完全听懂英语电影

          1. 要听懂90%左右的英语电视和电影,只需要花时间。

            无非就是多看美剧和电影,现在都方便的很。要看字幕,也只看英文字幕,然后模仿着说。好像就是这样。

            看你好像看了很多电影,当作娱乐,继续去看就行,要效果好的清晰的那种。

            我的网站全部弄好后,可否麻烦你帮我修改下主题?(^-^) 或者我在elance上发个项目,你竞标,这样可否?

          2. SOLA,“我的梦想之一就是能完全听懂英语电影“,哈哈这也是我的梦想,不过我能听得明白大部分就行了。

    2. 你的英语学习心得我深有体会哦,很赞同,我挺喜欢模仿英文电影的,虽然英文听说不咋地,但发音还是很自信的,哈哈。
      你要在elance上发项目?elance的价格对国外的人来说很便宜,对国内就贵了些,看预算啦。不过我没elance账号,我做什么项目交给我老公决定的,这样才不至于破产。

      1. 女生一般发音都比男生好,这是强项;弱项也许是对英美历史文化了解比较少,交流中会有一些障碍——我是这么觉得。

        求你老公的联系方式~~~ 我的网站现在在填内容,到时候主题要做一下。

  7. 我把两段代码插入了,去掉URL的代码生效,但是图片还是被放大。有时候放大到461

    是不是我插入代码的地方不对?

    http://pastebin.com/AwFhHHEJ

    1. 我发现,如果去掉了右边的 widgets,图片就会自动放大,而且加入那段代码也没有用。

      1. 上面代码解决的是两个问题:
        1. 去掉图片url
        2. 使用原图片

        这两个好像不包括图片是不是放大的问题吧,因为这个放大不放大是主题的css决定的,你得去改样式表,跟php无关

    2. 我刚看了下你的代码,确实插入的地方不对,应该放在主题的functions.php里,囧,我想着写上这句的,结果给忘了。

  8. 你好,请问woo的支付网关“转帐付款”怎么实现2个以上银行账户的?默认的就只能填一个。感谢咯。

    1. 这个只能靠修改支付网关代码实现,具体怎么改,没研究过,但应该是可行的。

  9. 谢谢照顾我这个对编程一窍不通的人。我依葫芦画瓢,修改下。

评论功能已关闭