Как правильно вызвать функцию из класса в плагине WordPress? - PullRequest
0 голосов
/ 16 июня 2020

Я хотел бы вызвать эту функцию в свой плагин, но я не могу сделать это правильно, я просто хочу показать действия $. Каков идеальный код для правильного получения результата? Я хочу применить эти коды в 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;

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...