【问题标题】:Download a custom-size image - relinking to page instead下载自定义大小的图像 - 重新链接到页面
【发布时间】:2018-01-25 23:16:20
【问题描述】:

目标是当您单击“下载网络”时它会下载该图像,不幸的是当我单击我的链接时它只是重新加载页面?有什么想法吗?

这是网页的链接。 http://www.redrocketgraphicdesign.co.uk/test/FIRST/product/firststudent1/

这是我拥有的或此刻的代码:

<div class="Downloads">
<h3>Download image</h3>
<a href="<?php $image_id= woocommerce_get_product_thumbnail();
$image_url = wp_get_attachment_image_src($image_id,'web');
echo $image_url=$image_url[0]; ?>"><img src="<?php bloginfo ('template_url' )?>/img/downloadForWeb.png" alt="Download for web" /></a>

【问题讨论】:

  • 如果您检查 &lt;a&gt;,您的 href 为空。可能你的回声不对。
  • 将你的 href 固定在锚点上,然后你可以给它添加下载属性,这样它就会强制下载图像。
  • @Troyer 你什么意思?你能添加所需的sn-p吗?

标签: php html wordpress woocommerce


【解决方案1】:

您收到 404 错误,因为 woocommerce_get_product_thumbnail() 没有找到任何要返回的图像。 我假设您要下载产品的特色图片,因此您应该使用wp_get_attachment_image_src() 而不是woocommerce_get_product_thumbnail(),因此请将您的代码更改为:

<div class="Downloads">
    <h3>Download image</h3>
    <?php 
    // replace $postID with your post id variable
    // change the 2nd parameter to specify the size of the image to get:
    $image_attrib = wp_get_attachment_image_src( get_post_thumbnail_id($postID),'full');
    ?>
    <a href="<?php echo image_attrib[0]; ?>">
        <img src="<?php bloginfo ('template_url' )?>/img/downloadForWeb.png" alt="Download for web" />
    </a>
</div>

如果这不起作用,如果不查看更多相关源代码,我不确定我们还能提供多少帮助。由于您已经在页面上显示了照片,请检查显示它的代码以查看它如何检索正确的 url 并使用它。

注意:您的代码试图显示一个图像 (downloadForWeb.png) 作为下载主图像的链接。但是,代码中的 url 中不存在 downloadForWeb.png,因此您看到的是“Download for web”文本。您应该修复 url 或只使用文本链接。

【讨论】:

  • 谢谢,我不得不重新调整一行代码,但现在可以按我的意愿工作了!谢谢大家的支持!

    下载图片

    ID),'full') ; ?> " alt="Download for web" />
  • 您只需要更改 $post-&gt;ID to 您的帖子 ID 变量(请参阅更新的代码)。您的示例未包含该示例,因此我将默认值仅作为示例包含在内。您可以使用wp_get_attachment_image_src wp_get_attachment_url,两者都可以使用(只要您使用正确的帖子ID!),我使用第一个,因为您可以告诉它您想要哪种图像尺寸(缩略图、中等、完整甚至自定义大小)。包括两者意味着您将获得两次图像。如果一切正常,您能否将其中一个答案标记为已接受以结束问题?
  • @AnthonyCdfWhitefield 由于答案对您有用(尽可能基于您提供的代码),您能否接受它以便在网站上解决(而且我们都会得到代表点:))
【解决方案2】:

你的锚点有错误,显示一个空的href,确保你的php代码是正确的。

关于如何从 achor 标签下载图像的问题,您可以像这样添加属性download

<a href="/patch/to/your/image" download>Click here to download</a>

你的代码应该是这样的:

<div class="Downloads">
<h3>Download image</h3>
<a href="<?php bloginfo ('template_url' )?>/img/downloadForWeb.png">Downlaod for the web</a>

【讨论】:

  • 感谢@Troyer,我已将您的sn-p 代码添加到该站点,不幸的是它显示错误404 而不是下载图像? redrocketgraphicdesign.co.uk/test/FIRST/product/firststudent1(第二张下载图片)
  • @AnthonyCdfWhitefield 对不起,没有源代码就帮不了你了,你只需要弄清楚如何将图像的正确路径放入href。
猜你喜欢
  • 2015-07-06
  • 1970-01-01
  • 1970-01-01
  • 2018-02-15
  • 1970-01-01
  • 2016-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多