获取产品图片的URL(WooCommerce)

时间:2019-05-21 作者:user8761967

如果一个帖子(产品)没有guid,因为它与另一个产品具有相同的映像,会发生什么情况?

例如:

问题1:

select guid from wp_posts where post_type=\'attachment\' and post_parent=num 
不返回任何内容。

问题2:

select guid from wp_posts where ID=num
返回产品的url。

在这种情况下,我应该如何找到该产品的图像url?

3 个回复
SO网友:Jacob Peattie

首先,GUID不是URL。它是一个“全球唯一标识符”。WordPress为此目的使用URL,但访问它并不是获取任何URL的可靠方式(这是个坏主意,但为了向后兼容,保持这种方式)。

无法直接从数据库中查询图像URL。完整URL未存储在那里。但是,如果您有产品的ID,并且希望获取其图像的URL,则可以执行以下操作:

$product   = wc_get_product( $product_id );
$image_id  = $product->get_image_id();
$image_url = wp_get_attachment_image_url( $image_id, \'full\' );

SO网友:Akshay Prabhakar

仅供参考,只需在数据库中运行此查询:

 SELECT * FROM  `wp_postmeta` WHERE meta_key IN (\'_wp_attached_file\', \'_wp_attachment_backup_sizes\',  \'_wp_attachment_metadata\',  \'_thumbnail_id\')
如果您使用“\\u wp\\u attached\\u file”运行上述查询,则只会从上载目录获得路径。

希望有帮助。。

SO网友:Amit Joshi

我看到过一些从数据库中获取产品图像的查询<也许这会对你有帮助
只需根据您的要求设置所需的参数即可。

SELECT p.ID,am.meta_value FROM wp_posts p LEFT JOIN wp_postmeta pm ON pm.post_id = p.ID AND pm.meta_key = \'_thumbnail_id\' LEFT JOIN wp_postmeta am ON am.post_id = pm.meta_value AND am.meta_key = \'_wp_attached_file\' WHERE p.post_type = \'product\' AND p.post_status = \'publish\';

相关推荐

Show content from database

这是我在Wordpress StackExchange上的第一篇帖子,所以请温柔一点。我在WordPress工作了一段时间,但更多的是作为前端开发人员,而不是太多的后端开发人员。我有在Joomla工作的背景(不要对我不利……)我正在从事一个当前的项目,其中一个API正在将数据注入数据库,WordPress网站有权访问的内容(尚未决定是WordPress数据库还是外部数据库。数据基于艺术品,因此各种数据与每件艺术品相关,还需要搜索/筛选选项来查看数据库中的各种数据。我的问题是,我如何获取数据以显示在网站前端