Forum Replies Created

Viewing 1 replies (of 1 total)
  • Thread Starter aneeshashaikh

    (@aneeshashaikh)

    Hey Con,
    Thanks for the help & hope you’re doing good.

    Could you sight an example as to how should I add the hook and what it should look like? Kindly excuse my lack of knowledge, am still learning.

    My code on the cart.php is currently the same as the default woocommerce code for cart.php. Anyways am still posting with some comments to give a better idea of the problem…

    Here’s my code:

    `<?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.8.0
    */

    defined( ‘ABSPATH’ ) || exit;
    //====Here’s where I tried to add the get_header(‘special’); =======
    do_action( ‘woocommerce_before_cart’ ); ?>

    <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>
    <th class=”product-remove”> </th>
    <th class=”product-thumbnail”> </th>
    <th class=”product-name”><?php esc_html_e( ‘Product’, ‘understrap’ ); ?></th>
    <th class=”product-price”><?php esc_html_e( ‘Price’, ‘understrap’ ); ?></th>
    <th class=”product-quantity”><?php esc_html_e( ‘Quantity’, ‘understrap’ ); ?></th>
    <th class=”product-subtotal”><?php esc_html_e( ‘Subtotal’, ‘understrap’ ); ?></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(
    ב,
    esc_url( wc_get_cart_remove_url( $cart_item_key ) ),
    esc_html__( ‘Remove this item’, ‘understrap’ ),
    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:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    } else {
    printf( ‘%s‘, esc_url( $product_permalink ), $thumbnail ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    }
    ?>
    </td>

    <td class=”product-name” data-title=”<?php esc_attr_e( ‘Product’, ‘understrap’ ); ?>”>
    <?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( ‘%s‘, 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:ignore WordPress.Security.EscapeOutput.OutputNotEscaped

    // 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’, ‘understrap’ ) . ‘</p>’, $product_id ) );
    }
    ?>
    </td>

    <td class=”product-price” data-title=”<?php esc_attr_e( ‘Price’, ‘understrap’ ); ?>”>
    <?php
    echo apply_filters( ‘woocommerce_cart_item_price’, WC()->cart->get_product_price( $_product ), $cart_item, $cart_item_key ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    ?>
    </td>

    <td class=”product-quantity” data-title=”<?php esc_attr_e( ‘Quantity’, ‘understrap’ ); ?>”>
    <?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:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    ?>
    </td>

    <td class=”product-subtotal” data-title=”<?php esc_attr_e( ‘Subtotal’, ‘understrap’ ); ?>”>
    <?php
    echo apply_filters( ‘woocommerce_cart_item_subtotal’, WC()->cart->get_product_subtotal( $_product, $cart_item[‘quantity’] ), $cart_item, $cart_item_key ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    ?>
    </td>
    </tr>
    <?php
    }
    }
    ?>

    <?php do_action( ‘woocommerce_cart_contents’ ); ?>

    <tr>
    <td colspan=”6″ class=”actions”>

    <?php if ( wc_coupons_enabled() ) { ?>
    <div class=”coupon”>
    <label for=”coupon_code”><?php esc_html_e( ‘Coupon:’, ‘understrap’ ); ?></label> <input type=”text” name=”coupon_code” class=”input-text form-control” id=”coupon_code” value=”” placeholder=”<?php esc_attr_e( ‘Coupon code’, ‘understrap’ ); ?>” /> <button type=”submit” class=”btn btn-outline-primary” name=”apply_coupon” value=”<?php esc_attr_e( ‘Apply coupon’, ‘understrap’ ); ?>”><?php esc_attr_e( ‘Apply coupon’, ‘understrap’ ); ?></button>
    <?php do_action( ‘woocommerce_cart_coupon’ ); ?>
    </div>
    <?php } ?>

    <button type=”submit” class=”btn btn-outline-primary” name=”update_cart” value=”<?php esc_attr_e( ‘Update cart’, ‘understrap’ ); ?>”><?php esc_html_e( ‘Update cart’, ‘understrap’ ); ?></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>

    <?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
    do_action( ‘woocommerce_after_cart’ );

    All I want to be able to do is, add my special header on woocommerce pages where I can’t it via the get_header(‘special’); hook.

    Thanks,
    Regards
    Aneesha S

Viewing 1 replies (of 1 total)