wordpress - 如何将 woocommerce 的“产品库”功能实现为自定义帖子类型
问题描述
我想知道是否有办法借用 woocommerce 的“产品库”功能并将其添加到 wordpress 中的自定义帖子类型中。
我知道我可以浏览 woocommerce 源代码并搜索并在 woocommerce 插件文件夹中找到其具体细节,将它们放在一起并针对特定的自定义帖子类型对其进行自定义。我知道这些是 woocommerce 插件文件夹中的一些相应文件:
- 对于它的javascript:
- 元盒-product.js
- 单品.js
- 用于渲染其 html 模板:
- wc-template-functions.php > 有
wc_get_gallery_image_html
函数 - 类-wc-admin-meta-boxes.php
add_meta_box( 'woocommerce-product-images', __( 'Product gallery', 'woocommerce' ), 'WC_Meta_Box_Product_Images::output', 'product', 'side', 'low' );
- 类-wc-meta-box-product-images.php
- 等等
- wc-template-functions.php > 有
但这很容易出现错误和错误。我想知道是否有一种better
方法可以将此功能实现到自定义帖子类型easier
。也许你们知道一个和/或某个地方,而我在这里失踪了。more elegant
less buggy
hook
class
只是为了澄清我的问题,我实际上有一个自定义帖子类型,它被称为“项目”。我需要这个自定义帖子类型的画廊,它接受我的自定义帖子类型的新图像,所以我认为我可以使用 woocommerce 的“产品画廊”功能,而不是从头开始为我的自定义帖子类型编写画廊。
谢谢你。
解决方案
未经测试,但如果您可以
在 CPT 文件中获取
product_id ,请尝试以下代码:
<?php
$product_id = '14';
$product = new WC_product($product_id);
$attachment_ids = $product->get_gallery_image_ids();
foreach( $attachment_ids as $attachment_id )
{
// Display the image URL
echo $Original_image_url = wp_get_attachment_url( $attachment_id );
// Display Image instead of URL
echo wp_get_attachment_image($attachment_id, 'full');
}
?>
这应该工作!
推荐阅读
- cmake - 无法使用 CMake 将 GLEW 链接到项目
- maven - 在将同一个 Maven 项目的 jar 打包到它的 war 文件之前重命名它
- json - 在 JSON_TABLE COLUMNS 中格式化时间戳
- angular - 错误:在此配置中,Angular 需要在 IE11 的 Angular 应用程序中使用 Zone.js
- javascript - 预览多张图像但删除旧图像
- wpf - 如何使用 SVG 图像格式作为 WPF 图像源
- r - 制作数据框每一列的向量并返回列表中的向量
- gradle - 如何使用 Artifactory Gradle 插件设置构建信息的用户名/密码?
- javascript - 有效地推导出数组的哪些元素已被求和
- talend - 如何在同一个子作业中读取和写入 Talend 中的同一个 excel 文件?