تابع ووکامرسی wc_template_redirect ریدایرکت به طور امن قبل از نمایش محتوا
تابع ووکامرسی wc_template_redirect – ریدایرکت به طور امن قبل از نمایش محتوا
Syntax – سینتکس
wc_template_redirect();
Usage – نحوه استفاده
if ( !function_exists( 'wc_template_redirect' ) ) { require_once ABSPATH . PLUGINDIR . 'woocommerce/includes/wc-template-functions.php'; } // NOTICE! Understand what this does before running. $result = wc_template_redirect();
Defined – محل تعریف
/includes/wc-template-functions.php
function wc_template_redirect() { global $wp_query, $wp; if ( ! empty( $_GET['page_id'] ) && '' === get_option( 'permalink_structure' ) && wc_get_page_id( 'shop' ) == $_GET['page_id'] ) { // When default permalinks are enabled, redirect shop page to post type archive url wp_safe_redirect( get_post_type_archive_link( 'product' ) ); exit; } elseif ( is_page( wc_get_page_id( 'checkout' ) ) && wc_get_page_id( 'checkout' ) !== wc_get_page_id( 'cart' ) && WC()->cart->is_empty() && empty( $wp->query_vars['order-pay'] ) && ! isset( $wp->query_vars['order-received'] ) ) { // When on the checkout with an empty cart, redirect to cart page wc_add_notice( __( 'Checkout is not available whilst your cart is empty.', woocommerce ), 'notice' ); wp_redirect( wc_get_page_permalink( 'cart' ) ); exit; } elseif ( isset( $wp->query_vars['customer-logout'] ) ) { // Logout wp_redirect( str_replace( '&', '&', wp_logout_url( wc_get_page_permalink( 'myaccount' ) ) ) ); exit; } elseif ( is_search() && is_post_type_archive( 'product' ) && apply_filters( 'woocommerce_redirect_single_search_result', true ) && 1 === absint( $wp_query->found_posts ) ) { // Redirect to the product page if we have a single product $product = wc_get_product( $wp_query->post ); if ( $product && $product->is_visible() ) { wp_safe_redirect( get_permalink( $product->get_id() ), 302 ); exit; } } elseif ( is_add_payment_method_page() ) { // Ensure payment gateways are loaded early WC()->payment_gateways(); } elseif ( is_checkout() ) { // Checkout pages handling // Buffer the checkout page ob_start(); // Ensure gateways and shipping methods are loaded early WC()->payment_gateways(); WC()->shipping(); } }
versions – نسخه ها
از نسخه : 3.0.2
نسخه فعلی : 3.0.6
دیگر نسخه ها : 3.0.6 , 3.0.5 , 3.0.4 , 3.0.3 , 3.0.2
ارسال نظر