wordpress plug-in

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

,

wordpress plug-in

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 」に出会い、どっぷりハマっています。

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

現在、代表兼二児のパパ。子育てを通じて、こどもたちにもプログラミングの楽しさに触れてほしいと思うようになり、「 こどもICTかつしか教室 」を開講中。最近は童心に帰り、簡単なゲーム制作なんかも楽しんでいます(^_^)。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ビジュアルプログラミング オンライン無料体験レッスン モニター大募集
こどもICTかつしか教室 | 幼稚園年長 小学生 中学生 スクラッチ ビジュアルプログラミング
WordPress で困ったら? | 必要なときに必要な分だけ、お助けサポート
WordPress / PHP なんでも相談OK