איך לשמור על מוצרים שלא במלאי אבל בסוף רשימת הקטגוריה של ווקומרס

אם יש לכם חנות וורדפרס עם ווקומרס והרבה מוצרים שמתחלפים מישנים לחדשים או שנגמרו במלאי יש 2 אפשרויות.

  1. למחוק אותם ידנית או להגדיר בווקומרס לא להציג מוצרים שלא במלאי בכלל.
  2. להשאיר אותם אבל בסוף הרשימה של כל קטגוריה, שזה עדיף מכל הבחינות במיוחד ל SEO.

אז איך עושים את זה? פשוט!

יש להדביק את קטע הקוד שיש לנו כאן בקובץ function.php של ערכת הנושא שלכם (עדיף תבנית בת).

לאחר הטמעת הקוד הזה, כל המוצרים שלא במלאי לא ייעלמו מחנות הוורדפרס שלכם, אלה יופיעו למטה בסוף רשימת המוצרים שלכם (בכל קטגוריה). אחלה דבר.

יללה – העתק הדבק – שלא תגידו שזה לא חידוש פצצה.

/**
* Sorting out of stock WooCommerce products – Order product collections by stock status, in-stock 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())) {
$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;
/**
* END – Order product collections by stock status, instock products first.
*/

נשמח לשמוע מה אתם אומרים 🙂

תגובות

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

Fill out this field
Fill out this field
יש להזין אימייל תקין.
You need to agree with the terms to proceed

תפריט
Call Now Button
Open chat
שלום,
איך אפשר לעזור?
Powered by