私のワードプレステーマでは、woocommerceテンプレートをカスタマイズする際に問題が発生しています。テンプレートに変数として追加データを追加したいと思います。woocommerceテンプレートデータのカスタマイズと追加
アクティブな注文をダッシュボード/マイアカウントページに表示したいとします。私はorders.php
テンプレートでどのように行われているかのように、データ変数をテンプレートに渡して呼び出すことができます。
自分のテーマでwc-template-functions.php
を無効にしてから、ダッシュボードまたはアカウントのwc_get_templates
機能でデータを追加することができます。しかし、私はこれをしたくありません。また、(
のfunctions.php
function wc_fr_add_orders_to_account($fr_account_orders, $current_page) {
global $fr_account_orders;
$current_page = empty($current_page) ? 1 : absint($current_page);
$customer_orders = wc_get_orders(apply_filters('woocommerce_my_account_my_orders_query',
array(
'customer' => get_current_user_id(),
'page' => $current_page,
'paginate' => true,
'status' => array('wc-pending')
)));
$fr_account_orders = array(
'current_page' => absint($current_page),
'customer_orders' => $customer_orders,
'has_orders' => 0 < $customer_orders->total
);
return $fr_account_orders;
}
add_action('woocommerce_account_content', 'wc_fr_add_orders_to_account');
/theme-directory/woocommerce/templates/myaccount/dashboard.php:私が試した何
は、次のようなフックを作成しています私のaccount.phpで試しました)
do_action('woocommerce_account_dashboard', $fr_account_orders);
var_dump($fr_account_orders);
$fr_account_orders
戻ってきます。しかし、フック関数の配列var_dump
があれば、データが戻ってきます。どんな助けもありがとうございます。
これを実行すると、ページ番号が正しく機能しませんでした。そのため、フィルタを作成する代わりに、テンプレートに上記のコードを追加しました。 – Jamie