• 15-09-2022, 13:10:05
    #1
    Merhaba, sitemizde yer alan ürünlerden bazılarının durumu stokta yok. Woocommerce de yer alan stokta olmayan ürünleri gizle özelliğinden ziyade stokta olan ürünlerden sonra listelenmesini istiyoruz. Bunu hangi kod veya eklenti ile yapabilirim?
  • 15-09-2022, 13:17:38
    #2
    Kurumsal PLUS
    <?php
    
    /**
     * Order product collections by stock status, instock products first.
     */
    class iWC_Orderby_Stock_Status
    {
    
        public function __construct()
        {
            // Check if WooCommerce is active
            if (in_array('woocommerce/woocommerce.php', apply_filters('active_plugins', get_option('active_plugins')))) {
                add_filter('posts_clauses', array($this, 'order_by_stock_status'), 2000);
            }
        }
    
        public function order_by_stock_status($posts_clauses)
        {
            global $wpdb;
            // only change query on WooCommerce loops
            if (is_woocommerce() && (is_shop() || is_product_category() || is_product_tag() || is_tax( 'product_brand' ))) {
                $posts_clauses['join'] .= " INNER JOIN $wpdb->postmeta istockstatus ON ($wpdb->posts.ID = istockstatus.post_id) ";
                $posts_clauses['orderby'] = " istockstatus.meta_value ASC, " . $posts_clauses['orderby'];
                $posts_clauses['where'] = " AND istockstatus.meta_key = '_stock_status' AND istockstatus.meta_value <> '' " . $posts_clauses['where'];
            }
            return $posts_clauses;
        }
    }
    
    new iWC_Orderby_Stock_Status;
    
    ?>

    Temanızın functions.php dosyasına ekleyebilirsiniz.
  • 09-04-2023, 20:47:59
    #3
    gizlemek ve sıralamada sonra almayı bulduk
    bir de bulanıklaştırma yı bulursam süper olacak
  • 25-04-2023, 10:22:49
    #4
    oktaydeniz adlı üyeden alıntı: mesajı görüntüle
    gizlemek ve sıralamada sonra almayı bulduk
    bir de bulanıklaştırma yı bulursam süper olacak
    functions.php :

    function out_of_stock_blur_product_image($classes) { global $product; if ($product && !$product->is_in_stock()) { $classes[] = 'blur-out-of-stock'; } return $classes; } add_filter('woocommerce_post_class', 'out_of_stock_blur_product_image');
    Ek css:

    .blur-out-of-stock img.wp-post-image {    filter: blur(4px);    transition: filter 0.3s ease; }