Wordpress [ LearnPress ] 如何将复选框添加到课程选项卡之一

问题描述

我已经制作了一个插件,允许管理员在购买前批准或拒绝学生的注册, 但我现在被困在没有 WP 经验的情况下,无法添加一个复选框,允许管理员在课程设置中使用此选项, 我试图通过插件编辑器检查所有 Learnpress 文件, 我在 learnpress/inc/admin/views/Meta-Boxes/class-lp-Meta-Box.PHP 下找到了这个函数 lp_Meta_Box_checkBox_field 然后我尝试在 price.PHP 文件添加一个字段, 但没有机会

这是我的learnpress/inc/admin/views/Meta-Boxes/course/tabs/price.PHP

<?PHP
/**
 * Course price data panel.
 *
 * @author ThimPress <nhamdv>
 */

defined( 'ABSPATH' ) || exit;

$payment = get_post_meta( $thepostid,'_lp_payment',true );
?>

<div id="price_course_data" class="lp-Meta-Box-course-panels">

    <?PHP if ( current_user_can( LP_TEACHER_ROLE ) || current_user_can( 'administrator' ) ) { ?>
        <?PHP
echo "TEST";
    
        $message    = '';
        $price      = get_post_meta( $thepostid,'_lp_price',true );
        $req_approve = get_post_meta( $thepostid,'_lp_apporve_request',true );
        $sale_price = '';
        $start_date = '';
        $end_date   = '';

        if ( $payment != 'free' ) {
            $sale_price = get_post_meta( $thepostid,'_lp_sale_price',true );
            $start_date = get_post_meta( $thepostid,'_lp_sale_start',true );
            $end_date   = get_post_meta( $thepostid,'_lp_sale_end',true );
        }
    //MY CUSTOM FIELD
            lp_Meta_Box_checkBox_field(
            array(
                'id'                => '_lp_approve_request','label'             => esc_html__( 'Enroll requesst','lp-enroll-request' ),'description'       => 'choose wether if you want students to enroll directly or ask admin permission firstly.','default'           => $req_approve,'name'              => 'enroll-request','class'             => 'lp_Meta_Box_enroll_request',)
        );
///ENDS HERE
        do_action( 'learnpress/course-settings/before-price' );

        lp_Meta_Box_text_input_field(
            array(
                'id'                => '_lp_price','label'             => esc_html__( 'Regular price','learnpress' ),'description'       => sprintf( __( 'Set a regular price (<strong>%s</strong>). Leave it blank for <strong>Free</strong>.',learn_press_get_currency() ),'type'              => 'number','default'           => $price,'custom_attributes' => array(
                    'min'  => '0','step' => '0.01',),'style'             => 'width: 80px;','class'             => 'lp_Meta_Box_regular_price',)
        );

        lp_Meta_Box_text_input_field(
            array(
                'id'                => '_lp_sale_price','label'             => esc_html__( 'Sale price','description'       => '<a href="#" class="lp_sale_price_schedule">' . esc_html__( 'Schedule','learnpress' ) . '</a>','default'           => $sale_price,'class'             => 'lp_Meta_Box_sale_price',)
        );
        ?>

        <div class="lp_sale_dates_fields">
            <p class="form-field lp_sale_start_dates_fields">
                <label for="_lp_sale_start"><?PHP esc_html_e( 'Sale start dates','learnpress' ); ?></label>
                <input type="text" class="short" name="_lp_sale_start" id="_lp_sale_start" value="<?PHP echo esc_attr( $start_date ); ?>" placeholder="<?PHP echo esc_html( _x( 'From&hellip;','placeholder','learnpress' ) ); ?>" style="width:320px;" />
            </p>
            <p class="form-field lp_sale_end_dates_fields">
                <label for="_lp_sale_start"><?PHP esc_html_e( 'Sale end dates','learnpress' ); ?></label>
                <input type="text" class="short" name="_lp_sale_end" id="_lp_sale_end" value="<?PHP echo esc_attr( $end_date ); ?>" placeholder="<?PHP echo esc_html( _x( 'To&hellip;','learnpress' ) ); ?>" style="width:320px;" />
                <a href="#" class="description lp_cancel_sale_schedule"><?PHP esc_html_e( 'Cancel','learnpress' ); ?></a>
            </p>
        </div>

        <?PHP do_action( 'learnpress/course-settings/after-price' ); ?>

    <?PHP } else { ?>
        <p><?PHP esc_html_e( 'Price set by admin','learnpress' ); ?></p>
    <?PHP } ?>
</div>

    

这里是添加我的复选框的确切位置

Price menu where to add checkbox

请问您有什么想法,或者如何解决

问候,

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)