Created
October 29, 2019 17:26
-
-
Save protorob/31346732cc8f0c8ef7875db4a7ce9d77 to your computer and use it in GitHub Desktop.
Artomultiplo's Generatepress Cart Mods (cart.php)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Cart Page | |
* | |
* This template can be overridden by copying it to yourtheme/woocommerce/cart/cart.php. | |
* | |
* HOWEVER, on occasion WooCommerce will need to update template files and you | |
* (the theme developer) will need to copy the new files to your theme to | |
* maintain compatibility. We try to do this as little as possible, but it does | |
* happen. When this occurs the version of the template file will be bumped and | |
* the readme will list any important changes. | |
* | |
* @see https://docs.woocommerce.com/document/template-structure/ | |
* @package WooCommerce/Templates | |
* @version 3.7.0 | |
*/ | |
defined( 'ABSPATH' ) || exit; | |
do_action( 'woocommerce_before_cart' ); ?> | |
<div class="am-woo-cart-container"><!-- This is the main wrapper --> | |
<div class="am-cart-form-container"><!-- This is the cart container --> | |
<h2><?php single_post_title(); ?></h2> | |
<form class="woocommerce-cart-form" action="<?php echo esc_url( wc_get_cart_url() ); ?>" method="post"> | |
<?php do_action( 'woocommerce_before_cart_table' ); ?> | |
<table class="shop_table shop_table_responsive cart woocommerce-cart-form__contents" cellspacing="0"> | |
<thead> | |
<tr> | |
<!-- This is commented by Me --> | |
<!-- <th class="product-remove"> </th> | |
<th class="product-thumbnail"> </th> --> | |
<th class="product-name" colspan="3"><?php esc_html_e( 'Product', 'woocommerce' ); ?></th> | |
<th class="product-price"><?php esc_html_e( 'Price', 'woocommerce' ); ?></th> | |
<th class="product-quantity"><?php esc_html_e( 'Quantity', 'woocommerce' ); ?></th> | |
<th class="product-subtotal"><?php esc_html_e( 'Total', 'woocommerce' ); ?></th> | |
</tr> | |
</thead> | |
<tbody> | |
<?php do_action( 'woocommerce_before_cart_contents' ); ?> | |
<?php | |
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) { | |
$_product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key ); | |
$product_id = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key ); | |
if ( $_product && $_product->exists() && $cart_item['quantity'] > 0 && apply_filters( 'woocommerce_cart_item_visible', true, $cart_item, $cart_item_key ) ) { | |
$product_permalink = apply_filters( 'woocommerce_cart_item_permalink', $_product->is_visible() ? $_product->get_permalink( $cart_item ) : '', $cart_item, $cart_item_key ); | |
?> | |
<tr class="woocommerce-cart-form__cart-item <?php echo esc_attr( apply_filters( 'woocommerce_cart_item_class', 'cart_item', $cart_item, $cart_item_key ) ); ?>"> | |
<td class="product-remove"> | |
<?php | |
echo apply_filters( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped | |
'woocommerce_cart_item_remove_link', | |
sprintf( | |
'<a href="%s" class="remove" aria-label="%s" data-product_id="%s" data-product_sku="%s">×</a>', | |
esc_url( wc_get_cart_remove_url( $cart_item_key ) ), | |
esc_html__( 'Remove this item', 'woocommerce' ), | |
esc_attr( $product_id ), | |
esc_attr( $_product->get_sku() ) | |
), | |
$cart_item_key | |
); | |
?> | |
</td> | |
<td class="product-thumbnail"> | |
<?php | |
$thumbnail = apply_filters( 'woocommerce_cart_item_thumbnail', $_product->get_image(), $cart_item, $cart_item_key ); | |
if ( ! $product_permalink ) { | |
echo $thumbnail; // PHPCS: XSS ok. | |
} else { | |
printf( '<a href="%s">%s</a>', esc_url( $product_permalink ), $thumbnail ); // PHPCS: XSS ok. | |
} | |
?> | |
</td> | |
<td class="product-name" data-title="<?php esc_attr_e( 'Product', 'woocommerce' ); ?>"> | |
<?php | |
if ( ! $product_permalink ) { | |
echo wp_kses_post( apply_filters( 'woocommerce_cart_item_name', $_product->get_name(), $cart_item, $cart_item_key ) . ' ' ); | |
} else { | |
echo wp_kses_post( apply_filters( 'woocommerce_cart_item_name', sprintf( '<a href="%s">%s</a>', esc_url( $product_permalink ), $_product->get_name() ), $cart_item, $cart_item_key ) ); | |
} | |
do_action( 'woocommerce_after_cart_item_name', $cart_item, $cart_item_key ); | |
// Meta data. | |
echo wc_get_formatted_cart_item_data( $cart_item ); // PHPCS: XSS ok. | |
// Backorder notification. | |
if ( $_product->backorders_require_notification() && $_product->is_on_backorder( $cart_item['quantity'] ) ) { | |
echo wp_kses_post( apply_filters( 'woocommerce_cart_item_backorder_notification', '<p class="backorder_notification">' . esc_html__( 'Available on backorder', 'woocommerce' ) . '</p>', $product_id ) ); | |
} | |
?> | |
<!-- Mobile price FlatsomeLike --> | |
<div class="am-mobile-product-price"> | |
<span class="mobile-product-price__qty"><?php echo $cart_item['quantity']; ?> x </span> | |
<?php | |
echo apply_filters( 'woocommerce_cart_item_price', WC()->cart->get_product_price( $_product ), $cart_item, $cart_item_key ); // PHPCS: XSS ok. | |
?> | |
</div> | |
<!-- End of Mobile price --> | |
</td> | |
<td class="product-price" data-title="<?php esc_attr_e( 'Price', 'woocommerce' ); ?>"> | |
<?php | |
echo apply_filters( 'woocommerce_cart_item_price', WC()->cart->get_product_price( $_product ), $cart_item, $cart_item_key ); // PHPCS: XSS ok. | |
?> | |
</td> | |
<td class="product-quantity" data-title="<?php esc_attr_e( 'Quantity', 'woocommerce' ); ?>"> | |
<?php | |
if ( $_product->is_sold_individually() ) { | |
$product_quantity = sprintf( '1 <input type="hidden" name="cart[%s][qty]" value="1" />', $cart_item_key ); | |
} else { | |
$product_quantity = woocommerce_quantity_input( | |
array( | |
'input_name' => "cart[{$cart_item_key}][qty]", | |
'input_value' => $cart_item['quantity'], | |
'max_value' => $_product->get_max_purchase_quantity(), | |
'min_value' => '0', | |
'product_name' => $_product->get_name(), | |
), | |
$_product, | |
false | |
); | |
} | |
echo apply_filters( 'woocommerce_cart_item_quantity', $product_quantity, $cart_item_key, $cart_item ); // PHPCS: XSS ok. | |
?> | |
</td> | |
<td class="product-subtotal" data-title="<?php esc_attr_e( 'Total', 'woocommerce' ); ?>"> | |
<?php | |
echo apply_filters( 'woocommerce_cart_item_subtotal', WC()->cart->get_product_subtotal( $_product, $cart_item['quantity'] ), $cart_item, $cart_item_key ); // PHPCS: XSS ok. | |
?> | |
</td> | |
</tr> | |
<?php | |
} | |
} | |
?> | |
<?php do_action( 'woocommerce_cart_contents' ); ?> | |
<tr> | |
<td colspan="6" class="actions"> | |
<button type="submit" class="button" name="update_cart" value="<?php esc_attr_e( 'Update cart', 'woocommerce' ); ?>"><?php esc_html_e( 'Update cart', 'woocommerce' ); ?></button> | |
<?php do_action( 'woocommerce_cart_actions' ); ?> | |
<?php wp_nonce_field( 'woocommerce-cart', 'woocommerce-cart-nonce' ); ?> | |
</td> | |
</tr> | |
<?php do_action( 'woocommerce_after_cart_contents' ); ?> | |
</tbody> | |
</table> | |
<?php do_action( 'woocommerce_after_cart_table' ); ?> | |
</form> | |
</div> | |
<div class="am-cart-collaterals-container"><!-- This is the container for the collaterals --> | |
<?php do_action( 'woocommerce_before_cart_collaterals' ); ?> | |
<div class="cart-collaterals"> | |
<?php | |
/** | |
* Cart collaterals hook. | |
* | |
* @hooked woocommerce_cross_sell_display | |
* @hooked woocommerce_cart_totals - 10 | |
*/ | |
do_action( 'woocommerce_cart_collaterals' ); | |
?> | |
</div> | |
<?php if ( wc_coupons_enabled() ) { ?> | |
<!-- Coupon Area --> | |
<div class="am-cart-coupon"> | |
<div class="coupon"> | |
<h2 for="coupon_code"><?php esc_html_e( 'Coupon:', 'woocommerce' ); ?></h2> | |
<input type="text" name="coupon_code" class="input-text" id="coupon_code" value="" placeholder="<?php esc_attr_e( 'Coupon code', 'woocommerce' ); ?>" /> | |
<button type="submit" class="button" name="apply_coupon" value="<?php esc_attr_e( 'Apply coupon', 'woocommerce' ); ?>"><?php esc_attr_e( 'Apply coupon', 'woocommerce' ); ?></button> | |
<?php do_action( 'woocommerce_cart_coupon' ); ?> | |
</div> | |
</div> | |
<?php } ?> | |
</div> | |
</div> | |
<?php do_action( 'woocommerce_after_cart' ); ?> |
Hello is it possible to get a code in woocommerce cart to make the cart remove products after a certain time?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hi, i really want to make my cart page looks like your sample. I never code with PHP before only simple CSS.
I used your code with snippet then the following error occur;
The code snippet you are trying to save produced a fatal error on line 38:
Uncaught Error: Call to a member function get_cart() on null in
class-edit-menu.php(213) : eval()'d code:38 Stack trace: #0
code-snippets/php/admin-menus/class-edit-menu.php(213): eval() #1
class-edit-menu.php(263): Code_Snippets_Edit_Menu->test_code(Object(Code_Snippet)) #2
class-edit-menu.php(122): Code_Snippets_Edit_Menu->save_posted_snippet() #3
class-edit-menu.php(99): Code_Snippets_Edit_Menu->process_actions() #4
class-wp-hook.php(288): Code_Snippets_Edit_Menu->l
Can you kindly help me with this? Thanks