2017-07-20 73 views
2

我正在构建Wordpress/WooCommerce网站,我想将自定义帖子类型附加到WooCommerce变体。例如。自定义帖子类型是“纸张厚度”,我希望能够从产品的WooCommerce版本的下拉列表中选择纸张厚度。作为WooCommerce变体添加自定义帖子类型的帖子

这将位于产品编辑页面,因此在前端,它将根据所选的自定义帖子显示与变体相关的详细信息。

有没有办法做到这一点有或没有插件?

任何帮助将不胜感激!

+0

我很好奇,为什么?因为,在最后,这取决于你将如何编写它,它不会是有用的。我说,你的问题不清楚。我能想到做这件事的方式有很多,但哪个取决于你为什么要这样做。 – Reigel

+0

@Reigel,道歉,让我试试澄清;我希望客户能够为变体设置一定数量的选择,所以我认为我可以将其设置为自定义帖子类型。如果有一种方法可以为变体定义设置选项,那么这也足够了。 – PavKR

回答

0

更新时间:

这里是一个自定义下拉选择添加到现有的变化的解决方案。
您可以如您所愿,选择您的自定义职位类型“纸张厚度”任何产品的变化选项...这是你会得到什么:

enter image description here

下面是相关的代码即:

// 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文件或也以任何插件文件。

该代码测试和工程

+0

感谢@LoicTheAztec的回应,但它不完全是我的dillema - 我想添加一个下拉(选择)字段,将自定义帖子类型的项目显示为变体集,而不仅仅启用自定义选项复选框。 – PavKR

+0

@PavKR我已经更新了我的答案...你现在得到一个下拉选择器。但是您需要自定义代码才能动态获取正确的选项。 – LoicTheAztec

相关问题