elan
July 11th, 2020, 17:38
سلام دوستان
من پایه دسته محصولات رو عبارت shop قرار دادم. حالا چرا اینکار رو کردم و نکردم مهم نیست.
فقط بگم اگر میذاشتم پیش فرض خود ووکامرس باشه. مثلا آدرس example.cpm/product-category
404 میشد. کلا آدرس های پیش فرض خود ووکامرس مشکل داره که برای سئو خوب نیست.
من اومدم پایه رو shop قرار دادم. این کد هم گذاشتم که با هیچ اروری مواجه نمیشه.
add_filter('request', function( $vars ) { global $wpdb; if( ! empty( $vars['pagename'] ) || ! empty( $vars['category_name'] ) || ! empty( $vars['name'] ) || ! empty( $vars['attachment'] ) ) { $slug = ! empty( $vars['pagename'] ) ? $vars['pagename'] : ( ! empty( $vars['name'] ) ? $vars['name'] : ( !empty( $vars['category_name'] ) ? $vars['category_name'] : $vars['attachment'] ) ); $exists = $wpdb->get_var( $wpdb->prepare( "SELECT t.term_id FROM $wpdb->terms t LEFT JOIN $wpdb->term_taxonomy tt ON tt.term_id = t.term_id WHERE tt.taxonomy = 'product_cat' AND t.slug = %s" ,array( $slug ))); if( $exists ){ $old_vars = $vars; $vars = array('product_cat' => $slug ); if ( !empty( $old_vars['paged'] ) || !empty( $old_vars['page'] ) ) $vars['paged'] = ! empty( $old_vars['paged'] ) ? $old_vars['paged'] : $old_vars['page']; if ( !empty( $old_vars['orderby'] ) ) $vars['orderby'] = $old_vars['orderby']; if ( !empty( $old_vars['order'] ) ) $vars['order'] = $old_vars['order']; } } return $vars;});
ولی pagination دسته ها درست کار نمیکنه و ارور 404 نشون میده
مثلا example.com/shop/category-name/page/2 با ارور 404 مواجه میشه.
چی کار باید کنم چه کدی بنویسم
من پایه دسته محصولات رو عبارت shop قرار دادم. حالا چرا اینکار رو کردم و نکردم مهم نیست.
فقط بگم اگر میذاشتم پیش فرض خود ووکامرس باشه. مثلا آدرس example.cpm/product-category
404 میشد. کلا آدرس های پیش فرض خود ووکامرس مشکل داره که برای سئو خوب نیست.
من اومدم پایه رو shop قرار دادم. این کد هم گذاشتم که با هیچ اروری مواجه نمیشه.
add_filter('request', function( $vars ) { global $wpdb; if( ! empty( $vars['pagename'] ) || ! empty( $vars['category_name'] ) || ! empty( $vars['name'] ) || ! empty( $vars['attachment'] ) ) { $slug = ! empty( $vars['pagename'] ) ? $vars['pagename'] : ( ! empty( $vars['name'] ) ? $vars['name'] : ( !empty( $vars['category_name'] ) ? $vars['category_name'] : $vars['attachment'] ) ); $exists = $wpdb->get_var( $wpdb->prepare( "SELECT t.term_id FROM $wpdb->terms t LEFT JOIN $wpdb->term_taxonomy tt ON tt.term_id = t.term_id WHERE tt.taxonomy = 'product_cat' AND t.slug = %s" ,array( $slug ))); if( $exists ){ $old_vars = $vars; $vars = array('product_cat' => $slug ); if ( !empty( $old_vars['paged'] ) || !empty( $old_vars['page'] ) ) $vars['paged'] = ! empty( $old_vars['paged'] ) ? $old_vars['paged'] : $old_vars['page']; if ( !empty( $old_vars['orderby'] ) ) $vars['orderby'] = $old_vars['orderby']; if ( !empty( $old_vars['order'] ) ) $vars['order'] = $old_vars['order']; } } return $vars;});
ولی pagination دسته ها درست کار نمیکنه و ارور 404 نشون میده
مثلا example.com/shop/category-name/page/2 با ارور 404 مواجه میشه.
چی کار باید کنم چه کدی بنویسم