Change Woo-commerce shipping price based on cart product

Put below code in functions.php

function aviweb_flat_rates_cost( $rates, $package ) {

foreach( WC()->cart->get_cart() as $cart_item_key => $values ) {

$_product = $values[‘data’];

if($_product->id == 123){

$rates[‘flat_rate:2’]->cost = 0;

}

}

return $rates;

}
add_filter( ‘woocommerce_package_rates’, ‘aviweb_flat_rates_cost’, 10, 2 );

Advertisements

Custom post type list with pagination in while loop

<?php

$loop = new WP_Query(array(‘post_type’ => ‘custom_post’,  ‘posts_per_page’ => 5,  ‘paged’ => get_query_var(‘paged’) ? get_query_var(‘paged’) : 1 ));

?>

<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>

<?php the_title(); ?> <?php the_content(); ?>

<?php endwhile; ?>

<?php  $uniqnum = 999999999;

echo paginate_links( array( ‘base’ => str_replace( $uniqnum, ‘%#%’, get_pagenum_link( $uniqnum ) ),

‘format’ => ‘?paged=%#%’,

‘current’ => max( 1, get_query_var(‘paged’) ),

‘total’ => $loop->max_num_pages ) );

?>

Restrict specific products in Woo-Commerce shop

Put below code in functions.php

add_action( ‘woocommerce_product_query’, ‘aviweb_product_query’ );add_action( ‘woocommerce_product_query’, ‘aviweb_product_query’ );
function aviweb_product_query( $q_array ){

$product_ids_on_sale = array(); $product_ids_on_sale[] = 7076;

$q_array->set( ‘post__not_in’, $product_ids_on_sale );

}

post__in -> products within array

post__not_in -> products not in array