Skip to content

Instantly share code, notes, and snippets.

@bUxEE
Last active December 11, 2022 08:07
Show Gist options
  • Save bUxEE/9a88aa745ee981f1de8ac527300d63d8 to your computer and use it in GitHub Desktop.
Save bUxEE/9a88aa745ee981f1de8ac527300d63d8 to your computer and use it in GitHub Desktop.
woocoommerce snippets
<?php
//////////////////////////////////////////////////////////////
// WOO COMMERCE SNIPPETS
//////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// PAYMENT TYPE IN MAIL
///////////////////////////////////////////////////////////
add_action( 'woocommerce_email_after_order_table', 'add_payment_method_to_admin_new_order', 15, 2 );
function add_payment_method_to_admin_new_order( $order, $is_admin_email ) {
if ( $is_admin_email ) {
echo '<p><strong>Metodo di pagamento:</strong> ' . $order->payment_method_title . '</p>';
}
}
add_action( 'pre_get_posts', 'custom_pre_get_posts_query' );
function custom_pre_get_posts_query( $q ) {
if ( ! $q->is_main_query() ) return;
if ( ! $q->is_post_type_archive() ) return;
if ( ! is_admin() && is_shop() && ! is_user_logged_in() ) {
$q->set( 'tax_query', array(array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array( 'color', 'flavor', 'spices', 'vanilla' ), // Don't display products in these categories on the shop page
'operator' => 'NOT IN'
)));
}
remove_action( 'pre_get_posts', 'custom_pre_get_posts_query' );
}
///////////////////////////////////////////////////////////
// CUSTOM ADD TO CART BUTTON TEXT
///////////////////////////////////////////////////////////
add_filter( 'woocommerce_product_add_to_cart_text', 'woo_archive_custom_cart_button_text' ); // 2.1 +
function woo_archive_custom_cart_button_text() {
return __( 'custom text', 'woocommerce' );
}
add_filter( 'woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text' ); // 2.1 +
function woo_custom_cart_button_text() {
return __( 'custom text', 'woocommerce' );
}
///////////////////////////////////////////////////////////
// CUSTOM CHECKOUT BUTTON
///////////////////////////////////////////////////////////
function woocommerce_button_proceed_to_checkout() {
$checkout_url = WC()->cart->get_checkout_url();
?>
<a href="<?php echo $checkout_url; ?>" class="checkout-button button alt wc-forward"><?php _e( 'custom text', 'woocommerce' ); ?></a>
<?php
}
///////////////////////////////////////////////////////////
// CUSTOM CURRENCY SYMBOL
///////////////////////////////////////////////////////////
add_filter('woocommerce_currency_symbol', 'add_my_currency_symbol', 10, 2);
function add_my_currency_symbol( $currency_symbol, $currency ) {
switch( $currency ) {
case 'MYC': $currency_symbol = 'custom name'; break;
}
return $currency_symbol;
}
///////////////////////////////////////////////////////////
// REMOVE CHECKOUT DETAIL FIELDS
///////////////////////////////////////////////////////////
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
function custom_override_checkout_fields( $fields ) {
unset($fields['billing']['billing_first_name']);
unset($fields['billing']['billing_last_name']);
unset($fields['billing']['billing_company']);
unset($fields['billing']['billing_address_1']);
unset($fields['billing']['billing_address_2']);
unset($fields['billing']['billing_city']);
unset($fields['billing']['billing_postcode']);
unset($fields['billing']['billing_country']);
unset($fields['billing']['billing_state']);
unset($fields['billing']['billing_phone']);
unset($fields['order']['order_comments']);
unset($fields['billing']['billing_address_2']);
unset($fields['billing']['billing_postcode']);
unset($fields['billing']['billing_company']);
unset($fields['billing']['billing_last_name']);
unset($fields['billing']['billing_email']);
unset($fields['billing']['billing_city']);
return $fields;
}
///////////////////////////////////////////////////////////
// AUTO COMPLETE ORDERS
///////////////////////////////////////////////////////////
add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order' );
function custom_woocommerce_auto_complete_order( $order_id ) {
if ( ! $order_id ) {
return;
}
$order = wc_get_order( $order_id );
$order->update_status( 'completed' );
}
///////////////////////////////////////////////////////////
// ADD TAB TO ORDER DETAILS CHECKOUT
///////////////////////////////////////////////////////////
add_action( 'woocommerce_order_details_after_order_table', "custom_tab_checkout", 10, 1 );
function custom_tab_checkout() {
echo '<div class="wc-extra-checkout-field">CUSTOM TAB CONTENT</div>';
}
///////////////////////////////////////////////////////////
// ADD TAB TO CART PAGE
///////////////////////////////////////////////////////////
add_action( 'woocommerce_after_cart_table', "custom_tab_cart", 10, 1 );
function custom_tab_cart() {
echo '<div class="wc-extra-checkout-field">CUSTOM TAB CONTENT</div>';
}
///////////////////////////////////////////////////////////
// BINDED EMAIL COUPON COLUMN
///////////////////////////////////////////////////////////
add_filter( 'manage_shop_coupon_posts_columns', 'show_binded_email',15 );
function show_binded_email($columns){
//add column
$columns['Emails'] = __( 'Emails');
return $columns;
}
function woo_populate_binded_email_col($column, $post_id) {
if ( $column == 'Emails' ) {
$emails = get_post_meta( $post_id, 'customer_email' );
$output = "";
$mail_num = 0;
foreach($emails as $email) {
$mail_num == 0 ? $output .= $email : $output .= ', '.$email;
}
echo $output;
}
}
add_action("manage_shop_coupon_posts_custom_column", "woo_populate_binded_email_col", 10, 2);
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment