WooCommerce 是一个流行的开源电子商务平台,它允许商家在 WordPress 上创建和管理在线商店。变体(Variations)是指产品具有不同的选项,例如颜色、尺寸等。当某个变体脱销时,商家可能希望显示一个表单,以便客户可以注册以获取更新或预留。
以下是一个简单的示例代码,展示如何在 WooCommerce 中实现当变体脱销时显示表单。
custom-variation-form
在 wp-content/plugins/
目录下。custom-variation-form.php
。<?php
/*
Plugin Name: Custom Variation Form
Description: Display a form when a WooCommerce variation is out of stock.
Version: 1.0
Author: Your Name
*/
add_action('woocommerce_single_product_summary', 'display_variation_form', 25);
function display_variation_form() {
global $product;
if ($product->is_type('variable')) {
$variations = $product->get_available_variations();
foreach ($variations as $variation) {
if (!$variation['in_stock']) {
echo '<div class="variation-out-of-stock">';
echo '<h3>Out of Stock</h3>';
echo '<p>This variation is currently out of stock. Please fill out the form below to be notified when it becomes available.</p>';
echo '<form action="' . esc_url(admin_url('admin-ajax.php')) . '" method="post" id="variation-form">';
echo '<input type="hidden" name="action" value="variation_form">';
echo '<input type="hidden" name="variation_id" value="' . esc_attr($variation['variation_id']) . '">';
echo '<label for="email">Email:</label>';
echo '<input type="email" name="email" id="email" required>';
echo '<button type="submit">Notify Me</button>';
echo '</form>';
break;
}
}
}
}
add_action('wp_ajax_variation_form', 'handle_variation_form');
add_action('wp_ajax_nopriv_variation_form', 'handle_variation_form');
function handle_variation_form() {
$variation_id = $_POST['variation_id'];
$email = $_POST['email'];
// Save the email to a custom table or use a plugin like Mailchimp
// For simplicity, we'll just echo a success message
echo 'Thank you! You will be notified when this variation is back in stock.';
wp_die();
}
Plugins
> Installed Plugins
。Custom Variation Form
插件。通过上述步骤,您可以在 WooCommerce 中实现当变体脱销时显示表单的功能。这个示例代码只是一个基础版本,您可以根据需要进行扩展和优化。