Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Extend an Order Form for WooCommerce form with WordPress hooks, instead of hacking templates. Requires version 1.4.0 or higher. Save this file as a simple plugin in the WordPress plugins folder. http://orderform-woo.webaware.net.au/
<?php
/*
Plugin Name: Order Form for WooCommerce extend form
Plugin URI: https://gist.github.com/webaware/1fe598e60f9ad9a912ee
Description: example form extras using hooks
Author: WebAware
Author URI: http://webaware.com.au/
*/
/**
* show the submit/clear buttons at the top of the form too
*/
add_action('orderform_woocommerce_form_start', function($attrs) {
?>
<p style="clear:both">
<button type="submit" class="single_add_to_cart_button button alt"><?php echo esc_html($attrs['submittitle']); ?></button>
<button style="display:none" class="single_add_to_cart_button button alt" name="clear-form"><?php echo esc_html($attrs['cleartitle']); ?></button>
</p>
<?php
});
/**
* insert a column before Price -- table header
* change the text to the column heading you want
*/
add_action('orderform_woocommerce_before_order_price_head', function($attrs) {
?>
<th class="your-custom-column-class">Custom</th>
<?php
});
/**
* insert a column before Price -- table footer
* this shows just a blank cell, but you can put whatever you want there
*/
add_action('orderform_woocommerce_before_order_price_foot', function($attrs) {
?>
<td class="your-custom-column-class">&nbsp;</td>
<?php
});
/**
* insert a column before Price -- table body
* e.g. get other WooCommerce product data and show it here
*/
add_action('orderform_woocommerce_before_order_price', function($product, $attrs) {
$stock = $product->get_total_stock();
?>
<td class="your-custom-column-class"><?php echo number_format($stock); ?></td>
<?php
}, 10, 2);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.