2017-09-15 176 views
0

我已經安裝了一個插件,允許我在產品頁面上添加和自定義相關產品 - WooCommerce Custom Related Products如何通過WooCommerce中的產品ID訂購相關產品?

該插件存儲在post_meta表中的相關ID(一個或多個):

meta_key =>_wcrp_related_ids
meta_values =>一個:3:I {:0; S:3: 「159」 ; i:1; s:3:「158」; i:2; s:3:「244」;}

我想根據它們存儲的順序來訂購相關產品,例如159,158,244。

我已經能夠使用以下代碼通過產品ID訂購相關產品。但我不知道如何修改以便按meta_values排序。

add_filter('woocommerce_output_related_products_args', 'jk_related_products_args'); 

function jk_related_products_args($args) 
{ 
    $args['orderby'] = 'id'; // This works 
    return $args; 
} 

回答

0

請檢查WP_Query文檔。你應該找到你需要通過自定義元來訂購的東西。

0

當你正在尋找something like this,WordPress的有這個 功能,你需要通過post__inorderby

add_filter('woocommerce_output_related_products_args', 'wh_related_products_args'); 

function wh_related_products_args($args) 
{ 
    global $post; 
    $related = get_post_meta($post->ID, '_wcrp_related_ids', true); //replace it with your metakey 
    //if a product do not have any realted product then don't alter order by 
    if ($related) 
    { 
     $args['orderby'] = 'post__in'; 
    } 
    return $args; 
} 

參考:Order by & include array by specific post ids

代碼放在functions.php文件的活躍兒童主題(或主題)的。或者也可以在任何插件php文件中使用。
代碼已經過測試和工作。

希望這會有所幫助!

相關問題