Merhaba,
Woocommerce üzerinde sepetim sayfasında ürünleri, orijinal keylerini koruyarak alfabetik olarak sıralamak için natcasesort fonksiyonunu kullanmaya çalışıyorum. Ancak Türkçe karakterlerde sorun yaşıyorum. Araştırmama rağmen bir çözüm bulamadım. Çözümü olan varsa ve yazarsa memnun olurum.
Örneğin, sepetteki aşağıdaki ürünler
vantilatör ve şal
Bildiğiniz gibi şu şekilde, yukarıdan aşağı sıralanmalı:
- şal
- vantilatör
Ancak tam tersi şekilde sıralanıyor:
- vantilatör
- şal
add_action( 'woocommerce_cart_loaded_from_session', 'sort_cart_items_alphabetically',9);
function sort_cart_items_alphabetically() {
//Get cart item
$products_in_cart = array();
foreach ( WC()->cart->get_cart_contents() as $key => $item ) {
$products_in_cart[ $key ] = $item['data']->get_title();
}
//case-insensitive natural order
natcasesort( $products_in_cart );
//Assign products
$cart_contents = array();
foreach ( $products_in_cart as $cart_key => $product_title ) {
$cart_contents[ $cart_key ] = WC()->cart->cart_contents[ $cart_key ];
}
WC()->cart->cart_contents = $cart_contents;}