wordpress plug-in

Welcart で購入履歴の件数を調整する方法

WordPress の Welcart でログイン直後に表示するページを変更する方法です。

色々な方法があると思いますが、今回はとりあえず手っ取り早く、比較的簡単な方法で。

/*-------------------------------------------*/
/* 注文履歴の表示件数を5件にする
/*-------------------------------------------*/
function jcs_member_history( $history ) {
    array_splice($history, 5);
    return $history ;
}
add_filter( 'usces_filter_get_member_history', 'jcs_member_history' );

ただ、この方法だと、 WCEX Multiple Shipping のプラグインを利用している場合、この後登場する箇所にフックされていて上書きされてしまうため、以下の内容に修正しました。

/*-------------------------------------------*/
/* 注文履歴の表示件数を5件にする
/*-------------------------------------------*/
function jcs_member_history( $history ) {
    // 上書きされるのでとりあえずココは空にした方が表示早い?
    $history = array();
    return $history ;
}
add_filter( 'usces_filter_get_member_history', 'jcs_member_history' );
// プラグインで実行されているものをremove
remove_filter( 'usces_filter_member_history', 'msa_member_history', 13);
function msa_member_history2( $html, $args ){
    global $usces;
	$usces_members = $usces->get_member();
	$usces_member_history = $usces->get_member_history($usces_members['ID']);
	array_splice($usces_member_history, 5);

	// ...
	// ココは WCEX Multiple Shipping の msa_member_history の関数の同じ箇所をコピペ
	// ...

}
add_filter( 'usces_filter_member_history', 'msa_member_history2', 14, 2);

別途、全件表示は別なページに実装したため、こんな感じでリンクも追加しました。

function msa_member_history2( $html, $args ){
    global $usces;
	$usces_members = $usces->get_member();
	$usces_member_history = $usces->get_member_history($usces_members['ID']);
	array_splice($usces_member_history, 5);

	// ...
	// ココは WCEX Multiple Shipping の msa_member_history の関数の同じ箇所をコピペ
	// ...

				$materials = compact( 'cart_thumbnail', 'post_id', 'pictid', 'cartItemName', 'optstr' );
				$html .= apply_filters( 'usces_filter_history_cart_row', $history_cart_row, $umhs, $cart_row, $i, $materials );
			}
		}
		$html .= '</tbody></table>';
	}

	$html .= '</div>';

    if ( count($usces_member_history) ) {
        $html .= '<p>直近5件までの注文を表示しています。過去全ての注文履歴は<a href="#">こちら</a></p>'; // リンク先は別途作成した注文履歴(全件)のページ
    }

    return $html;
}
add_filter( 'usces_filter_member_history', 'msa_member_history2', 14, 2);

配列の中身を取り出し、条件分岐して月別表示なども考えたのですが、今回は時間が無かったのでここまで。

自己紹介

松田 大と申しますm(_ _)m
インディーズでミュージシャンをやっていたのですがいつのまにか...

とある企業でショップのアルバイトスタッフから正社員、支店長を経てシステム部門に異動するという、開発担当としては変わった経緯を持っている方だと思います。

「Excel VBA」からスタートして、Yamaha RTX シリーズで VPN環境構築、Hyper-V環境構築、Windowsアプリ開発などを経験した後、「 WordPress 」に出会い、どっぷりハマっています(^_^)。

現在勤めているJTクラウドシステムでは、「 WordPress 」を活用したWEBサイト、業務用WEBアプリケーション開発を中心に、記事の執筆代行や掲載に必要な情報のリサーチ、映像のテロップ入れや切りはりなどの簡単な動画編集なども、まとめて行なっています。

現在、代表取締役兼二児のパパ。イクメン目指して、公私ともに慌ただしくしています(笑)

コメントを残す