Я хотел бы вызвать эту функцию в свой плагин, но я не могу сделать это правильно, я просто хочу показать действия $. Каков идеальный код для правильного получения результата? Я хочу применить эти коды в PHP Я дома, кто-то может помочь мне решить эту проблему.
Эта функция будет отображать модальную функцию запроса возврата с помощью значка, когда щелчок зависит от идентификатора заказа, проверьте эту ссылку для полный код https://pastebin.com/WApLdSuw
function wcfmmp_refund_requests_form_html() {
global $WCFM, $WCFMmp, $_POST;
if( isset( $_POST['order_id'] ) && !empty( $_POST['order_id'] ) ) {
$WCFMmp->template->get_template( 'refund/wcfmmp-view-refund-requests-popup.php' );
}
die;
}
public function wcfmmp_refund_orders_actions( $actions, $vendor_id, $order, $the_order ) {
global $WCFM, $WCFMmp;
$order_status = sanitize_title( $the_order->get_status() );
if( in_array( $order_status, apply_filters( 'wcfm_refund_disable_order_status', array( 'failed', 'cancelled', 'refunded', 'pending', 'on-hold', 'request', 'proposal', 'proposal-sent', 'proposal-expired', 'proposal-rejected', 'proposal-canceled', 'proposal-accepted' ) ) ) ) return $actions;
if( !apply_filters( 'wcfm_is_allow_refund_requests', true ) ) return $actions;
if( !apply_filters( 'wcfm_is_allow_paid_order_refund', false ) && ($order->withdraw_status != 'pending') && !in_array( $the_order->get_payment_method(), array( 'wirecard', 'stripe_split' ) ) ) return $actions;
$refund_statuses = explode( ",", $order->refund_statuses );
//if( in_array( 'requested', $refund_statuses ) ) return $actions;
$is_refundeds = explode( ",", $order->is_refundeds );
if( !in_array( 0, $is_refundeds ) ) return $actions;
// Refund Threshold check
$refund_threshold = isset( $WCFMmp->wcfmmp_refund_options['refund_threshold'] ) ? $WCFMmp->wcfmmp_refund_options['refund_threshold'] : '';
if( $refund_threshold ) {
$current_time = strtotime( 'midnight', current_time( 'timestamp' ) );
$date = date( 'Y-m-d', $current_time );
$created_date = date( 'Y-m-d', strtotime($order->created) );
$datetime1 = new DateTime( $date );
$datetime2 = new DateTime( $created_date );
$interval = $datetime2->diff( $datetime1 );
$interval = $interval->format( '%r%a' );
if( ( (int) $interval >= 0 ) && ( (int) $interval > (int) $refund_threshold ) ) return $actions;
}
$actions .= '<a class="wcfmmp_order_refund_request wcfm-action-icon" href="#" data-item="' . $order->item_id . '" data-commission="' . $order->ID . '" data-order="' . $order->order_id . '"><span class="wcfmfa fa-retweet text_tip" data-tip="' . esc_attr__( 'Refund Request', 'wc-multivendor-marketplace' ) . '"></span></a>';
return $actions;
}