تابع ووکامرسی wc_fix_rewrite_rules رفع مشکلات بازخوانی url فروشگاه

تابع ووکامرسی wc_fix_rewrite_rules رفع مشکلات بازخوانی url فروشگاه

تابع ووکامرسی wc_fix_rewrite_rules – رفع مشکلات بازخوانی url فروشگاه در زمان خطا یا مشکل

Syntax – سینتکس

(array) wc_fix_rewrite_rules( (array) $rules ); 

Parameters – پارامتر ها (1)

  • 1- $rules (array)

Usage – نحوه استفاده

if ( !function_exists( 'wc_fix_rewrite_rules' ) ) { 
    require_once ABSPATH . PLUGINDIR . 'woocommerce/includes/wc-core-functions.php'; 
} 
  
// The rules. 
$rules = array(); 
  
// NOTICE! Understand what this does before running. 
$result = wc_fix_rewrite_rules($rules); 
    

Defined – محل تعریف

/includes/wc-core-functions.php

function wc_fix_rewrite_rules( $rules ) { 
    global $wp_rewrite; 
 
    $permalinks = wc_get_permalink_structure(); 
 
    // Fix the rewrite rules when the product permalink have %product_cat% flag. 
    if ( preg_match( '`/(.+)(/%product_cat%)`' , $permalinks['product_rewrite_slug'], $matches ) ) { 
        foreach ( $rules as $rule => $rewrite ) { 
            if ( preg_match( '`^' . preg_quote( $matches[1], '`' ) . '/\(`', $rule ) && preg_match( '/^(index\.php\?product_cat)(?!(.*product))/', $rewrite ) ) { 
                unset( $rules[ $rule ] ); 
            } 
        } 
    } 
 
    // If the shop page is used as the base, we need to handle shop page subpages to avoid 404s. 
    if ( $permalinks['use_verbose_page_rules'] && ( $shop_page_id = wc_get_page_id( 'shop' ) ) ) { 
        $page_rewrite_rules = array(); 
        $subpages = wc_get_page_children( $shop_page_id ); 
 
        // Subpage rules 
        foreach ( $subpages as $subpage ) { 
            $uri = get_page_uri( $subpage ); 
            $page_rewrite_rules[ $uri . '/?$' ] = 'index.php?pagename=' . $uri; 
            $wp_generated_rewrite_rules = $wp_rewrite->generate_rewrite_rules( $uri, EP_PAGES, true, true, false, false ); 
            foreach ( $wp_generated_rewrite_rules as $key => $value ) { 
                $wp_generated_rewrite_rules[ $key ] = $value . '&pagename=' . $uri; 
            } 
            $page_rewrite_rules = array_merge( $page_rewrite_rules, $wp_generated_rewrite_rules ); 
        } 
 
        // Merge with rules 
        $rules = array_merge( $page_rewrite_rules, $rules ); 
    } 
 
    return $rules; 
} 

versions – نسخه ها

از نسخه : 2.2

نسخه فعلی : 3.0.6

دیگر نسخه ها : 3.0.6 , 3.0.5 , 3.0.4 , 3.0.3 , 3.0.2

ارسال نظر

جهت استفاده از کد حتما از تگ pre استفاده نمایید .

contact us