EDD Store Hours プラグインでカートボタンを無効化せずに、ボタンを非表示にする


Easy Digital DownloadsのEDD Store HoursプラグインはEDDで作成したネットショップの開店閉店を管理できるプラグインです。

https://wordpress.org/plugins/easy-digital-downloads-store-hours/
このプラグインでショップを閉店状態にすると、カートボタンが無効化されるか、ボタン自体を非表示にする設定しかなく、閉店状態にしながらカートのボタンのテストを行いたい場合不便なのでカスタマイズしてみました。

カートボタン無効化の無効化

まず、閉店状態にしてもカートボタンが無効にならないようにfuncstions.phpに以下の行を追加します。

remove_filter( 'edd_purchase_download_form', 'edd_store_hours_override_purchase_button', 200, 2 );
remove_action( 'edd_pre_add_to_cart', 'edd_store_hours_override_add_to_cart', 200, 2 );

edd_store_hours_is_closedで開店・閉店を判別

次に開店・閉店時で条件分岐し表示を制御します。
Store Hours Plusginにはedd_store_hours_is_closedという閉店しているかどうかを判別する関するがあるのでそれを利用します。
記述例は以下のとおりです。

<?php if(edd_store_hours_is_closed()): ?>
<!-- 閉店している時に表示する内容 -->
<?php else: ?>
<!-- 開店している時に表示する内容 -->
<?php endif; ?>

これで開店・閉店の設定にあわせて、カートボタンを表示非表示にすれば、カートボタンを無効化せずに閉店することができるようになります。

コメントを残す