WoCommerceのクロスセルはカートページに表示されます。デフォルトでは、それらはランダムにソートされます。誰も私の日付(=製品の出版日)でそれらを並べ替えるのを助けてもらえますか?どうもありがとう!ここでソートWooCommerceの日付でのクロス販売
は、クロスsells.phpの内容です:HERE
<?php
/**
* Cross-sells
*
* This template can be overridden by copying it to yourtheme/woocommerce/cart/cross-sells.php.
*
* @see https://docs.woocommerce.com/document/template-structure/
* @author WooThemes
* @package WooCommerce/Templates
* @version 3.0.0
*/
if (! defined('ABSPATH')) {
exit;
}
if ($cross_sells) : ?>
<div class="cross-sells">
<h2><?php _e('You may be interested in…', 'woocommerce') ?></h2>
<?php woocommerce_product_loop_start(); ?>
<?php foreach ($cross_sells as $cross_sell) : ?>
<?php
$post_object = get_post($cross_sell->get_id());
setup_postdata($GLOBALS['post'] =& $post_object);
wc_get_template_part('content', 'product'); ?>
<?php endforeach; ?>
<?php woocommerce_product_loop_end(); ?>
</div>
<?php endif;
wp_reset_postdata();
は、ソリューションです:
あなたはクロスsells.phpを編集する必要はありません!代わりに、仕事をする小さなプラグインを作成することができます:
- 次のコードを新しいPHPファイルに入れます。
- WPプラグインフォルダにアップロードします。
- WPバックエンドでプラグインを有効にします。
- あなたのカートページの結果をテストします。あなたのクロスセルは出版日によって今注文されます。
- 注文を手作業で変更したい場合は、製品ごとにWPバックエンドを使用して公開日を変更するだけです。
このソリューションのフィルタフックを提供してくれたLoicTheAztecに感謝します。ここで (。このフィルタフック用のプラグインを作成することで、あなたがfunction.phpを編集したり、子テーマを作成する必要はありません)
は、この小さなプラグインのコードです:
<?php
/**
* Plugin Name: Woocommerce Sort Cross-sales by Date
* Description: This plugin is used to sort cross-sells by date
* Author: ARaction GmbH with help of LoicTheAztec - no guarantee or support!
* Version: 0.1
*/
/* Your code goes below here. */
add_filter('woocommerce_cross_sells_orderby', 'custom_cross_sells_orderby', 10, 1);
function custom_cross_sells_orderby($orderby){
$orderby = 'date';
return $orderby;
}
/* Your code goes above here. */
?>
'if($ cross_sells):'の直後に 'print_r($ cross_sells)'を行い、その出力を投稿に追加できますか? – Matthew