作为WooCommerce变体添加自定义帖子类型的帖子
我正在构建Wordpress/WooCommerce网站,我想将自定义帖子类型附加到WooCommerce变体。例如。自定义帖子类型是“纸张厚度”,我希望能够从产品的WooCommerce版本的下拉列表中选择纸张厚度。作为WooCommerce变体添加自定义帖子类型的帖子
这将位于产品编辑页面,因此在前端,它将根据所选的自定义帖子显示与变体相关的详细信息。
有没有办法做到这一点有或没有插件?
任何帮助将不胜感激!
更新时间:
这里是一个自定义下拉选择添加到现有的变化的解决方案。
您可以如您所愿,选择您的自定义职位类型“纸张厚度”任何产品的变化选项...这是你会得到什么:
下面是相关的代码即:
// Add custom dropdown selector to existing variation settings
add_action('woocommerce_variation_options_pricing','add_cp_option_to_variations',20 ,3);
function add_cp_option_to_variations($loop, $variation_data, $variation){
// HERE define your options array (or add some code to get the array dynamically)
$options = array(
'' => __('Choose a value…', 'woocommerce'), // default
'option1' => __('Option 1', 'woocommerce'),
'option2' => __('Option 2', 'woocommerce'),
'option3' => __('Option 3', 'woocommerce')
);
woocommerce_wp_select(array(
'id' => "select_paper_thickness_$loop",
'label' => __('Paper Thickness options: <br>', 'woocommerce'),
'value' => get_post_meta($variation->ID, '_paper_thickness_option', true),
'options' => $options,
));
}
//Save Variation checkbox custom field
add_action('woocommerce_save_product_variation','save_cp_option_to_variations', 10 ,2);
function save_cp_option_to_variations($variation_id, $loop){
$selected_option = $_POST["select_paper_thickness_$loop"];
if(! empty($selected_option))
update_post_meta($variation_id, '_paper_thickness_option', esc_attr($selected_option));
}
代码放在您的活动子主题(或主题)的function.php文件或也以任何插件文件。
该代码测试和工程
感谢@LoicTheAztec的回应,但它不完全是我的dillema - 我想添加一个下拉(选择)字段,将自定义帖子类型的项目显示为变体集,而不仅仅启用自定义选项复选框。 – PavKR
@PavKR我已经更新了我的答案...你现在得到一个下拉选择器。但是您需要自定义代码才能动态获取正确的选项。 – LoicTheAztec
我很好奇,为什么?因为,在最后,这取决于你将如何编写它,它不会是有用的。我说,你的问题不清楚。我能想到做这件事的方式有很多,但哪个取决于你为什么要这样做。 – Reigel
@Reigel,道歉,让我试试澄清;我希望客户能够为变体设置一定数量的选择,所以我认为我可以将其设置为自定义帖子类型。如果有一种方法可以为变体定义设置选项,那么这也足够了。 – PavKR