בווקומרס יש פילטרים והוקים שמאפשרים לנו לבטל שדות או להוסיף דברים שיקרו.
דוגמה לפילטר לביטול שדות .
add_filter("woocommerce_checkout_fields", "remove_billing_fields");
function remove_billing_fields($fields) {
unset($fields["billing"]["billing_first_name"]);
}
פילטר להוספת דיפולט לשדה מסויים :
add_filter( 'woocommerce_checkout_fields', 'add_input_value_default' );
function add_input_value_default ($fields) {
$fields['billing']['billing_city']['default'] = 'London';
return $fields;
}
אפשר לשנות או להוסיף עוד שדות לפי הרשימה הבאה:
billing_first_name
billing_last_name
billing_company
billing_address_1
billing_address_2
billing_city
billing_postcode
billing_country
billing_state
billing_email
billing_phone
shipping_first_name
shipping_last_name
shipping_company
shipping_address_1
shipping_address_2
shipping_city
shipping_postcode
shipping_country
shipping_state
דוגמה להסרת כל השדות גם של הרגיל (billing) וגם של משלוח לכתובת אחרת (shipping).
/**
* Remove all possible fields - example.
*/
function js_remove_checkout_fields( $fields ) {
// Billing fields
unset( $fields['billing']['billing_company'] );
unset( $fields['billing']['billing_email'] );
unset( $fields['billing']['billing_phone'] );
unset( $fields['billing']['billing_state'] );
unset( $fields['billing']['billing_first_name'] );
unset( $fields['billing']['billing_last_name'] );
unset( $fields['billing']['billing_address_1'] );
unset( $fields['billing']['billing_address_2'] );
unset( $fields['billing']['billing_city'] );
unset( $fields['billing']['billing_postcode'] );
// Shipping fields
unset( $fields['shipping']['shipping_company'] );
unset( $fields['shipping']['shipping_phone'] );
unset( $fields['shipping']['shipping_state'] );
unset( $fields['shipping']['shipping_first_name'] );
unset( $fields['shipping']['shipping_last_name'] );
unset( $fields['shipping']['shipping_address_1'] );
unset( $fields['shipping']['shipping_address_2'] );
unset( $fields['shipping']['shipping_city'] );
unset( $fields['shipping']['shipping_postcode'] );
// Order fields
unset( $fields['order']['order_comments'] );
return $fields;
}
add_filter( 'woocommerce_checkout_fields', 'js_remove_checkout_fields' );
אפשר גם לומר שהשדות הם לא חובה
add_filter( 'woocommerce_billing_fields', 'wc_optional_billing_fields', 10, 1 );
function wc_optional_billing_fields( $address_fields ) {
$address_fields['billing_address_1']['required'] = false;
$address_fields['billing_address_2']['required'] = false;
return $address_fields;
}
הוספת מידות מוצר בעמוד ארכיון מוצרים
/**
* Show product dimensions on archive pages for WC 3+
*/
add_action( 'woocommerce_after_shop_loop_item', 'rs_show_dimensions', 9 );
function rs_show_dimensions() {
global $product;
$dimensions = wc_format_dimensions($product->get_dimensions(false));
if ( $product->has_dimensions() ) {
echo '<div class="product-meta"><span class="product-meta-label">Dimensions: </span>' . $dimensions . '</div>';
}
}