id = 'profile';
$this->text = esc_html__( 'Profile', 'learnpress' );
parent::__construct();
}
/**
* @param string $section
* @param string $tab
*
* @return array
*/
public function get_settings( $section = null, $tab = null ) {
$settings = LP_Settings::instance();
$user = wp_get_current_user();
$username = $user->user_login;
$settings_slug = $settings->get( 'profile_endpoints.settings', 'settings' );
$profile_slug = 'profile';
if ( learn_press_get_page_id( 'profile' ) ) {
$profile_post = get_post( learn_press_get_page_id( 'profile' ) );
if ( $profile_post ) {
$profile_slug = $profile_post->post_name;
}
}
$profile_url = site_url() . '/' . $profile_slug . '/' . $username;
$settings = apply_filters(
'learn-press/profile-settings-fields',
array_merge(
apply_filters(
'learn-press/profile-settings-fields/general',
array(
array(
'title' => esc_html__( 'General', 'learnpress' ),
'type' => 'title',
'id' => 'lp_profile_general',
),
array(
'title' => esc_html__( 'Avatar Dimensions', 'learnpress' ),
'id' => 'avatar_dimensions',
'default' => array( 250, 250, 'yes' ),
'type' => 'image-dimensions',
),
array(
'title' => esc_html__( 'Enable login form', 'learnpress' ),
'id' => 'enable_login_profile',
'default' => 'no',
'type' => 'checkbox',
'desc' => esc_html__( 'If the user is not logged in, enable login from profile.', 'learnpress' ),
),
array(
'title' => esc_html__( 'Enable register form', 'learnpress' ),
'id' => 'enable_register_profile',
'default' => 'no',
'type' => 'checkbox',
'desc' => esc_html__( 'If the user is not logged in, enable register from profile.', 'learnpress' ),
),
array(
'title' => esc_html__( 'Enable default fields', 'learnpress' ),
'id' => 'enable_register_first_name',
'default' => 'no',
'type' => 'checkbox',
'checkboxgroup' => 'start',
'desc' => esc_html__( 'First name', 'learnpress' ),
),
array(
'id' => 'enable_register_last_name',
'default' => 'no',
'type' => 'checkbox',
'checkboxgroup' => '',
'desc' => esc_html__( 'Last name', 'learnpress' ),
),
array(
'id' => 'enable_register_display_name',
'default' => 'no',
'type' => 'checkbox',
'checkboxgroup' => 'end',
'desc' => esc_html__( 'Display name', 'learnpress' ),
),
array(
'title' => esc_html__( 'Custom register fields', 'learnpress' ),
'id' => 'register_profile_fields',
'default' => array(),
'type' => 'custom-fields',
'options' => array(
'name' => array(
'title' => esc_html__( 'Name', 'learnpress' ),
'type' => 'text',
'desc_tip' => esc_html__( 'Display field name.', 'learnpress' ),
'placeholder' => esc_html__( 'Display name', 'learnpress' ),
),
'type' => array(
'title' => esc_html__( 'Type', 'learnpress' ),
'type' => 'select',
'options' => array(
'text' => esc_html__( 'Text', 'learnpress' ),
'textarea' => esc_html__( 'Textarea', 'learnpress' ),
'checkbox' => esc_html__( 'Checkbox', 'learnpress' ),
'url' => esc_html__( 'URL', 'learnpress' ),
'number' => esc_html__( 'Number', 'learnpress' ),
),
),
'required' => array(
'title' => esc_html__( 'Required?', 'learnpress' ),
'type' => 'checkbox',
),
),
'desc' => esc_html__( 'Custom fields to the registration form.', 'learnpress' ),
),
array(
'type' => 'sectionend',
'id' => 'lp_profile_general',
),
)
),
apply_filters(
'learn-press/profile-settings-fields/sub-tabs',
array(
array(
'title' => esc_html__( 'Permalinks', 'learnpress' ),
'type' => 'title',
'id' => 'lp_profile_permalinks',
),
array(
'title' => esc_html__( 'Courses', 'learnpress' ),
'id' => 'profile_endpoints[courses]',
'type' => 'text',
'default' => 'courses',
'placeholder' => 'courses',
'desc' => sprintf( 'e.g. %s', "{$profile_url}/" . $settings->get( 'profile_endpoints.courses', 'courses' ) . '' ),
),
array(
'title' => esc_html__( 'Quizzes', 'learnpress' ),
'id' => 'profile_endpoints[quizzes]',
'type' => 'text',
'default' => 'quizzes',
'placeholder' => 'quizzes',
'desc' => sprintf( 'e.g. %s', "{$profile_url}/" . $settings->get( 'profile_endpoints.quizzes', 'quizzes' ) . '' ),
),
array(
'title' => esc_html__( 'Orders', 'learnpress' ),
'id' => 'profile_endpoints[orders]',
'type' => 'text',
'default' => 'orders',
'placeholder' => 'orders',
'desc' => sprintf( 'e.g. %s', "{$profile_url}/" . $settings->get( 'profile_endpoints.orders', 'orders' ) . '' ),
),
array(
'title' => esc_html__( 'Order details', 'learnpress' ),
'id' => 'profile_endpoints[order-details]',
'type' => 'text',
'default' => 'order-details',
'placeholder' => 'order-details',
'desc' => sprintf( 'e.g. %s', "{$profile_url}/" . $settings->get( 'profile_endpoints.order-details', 'order-details' ) . '/123' ),
),
),
$this
),
apply_filters(
'learn-press/profile-settings-fields/settings-tab',
array(
array(
'title' => esc_html__( 'Settings', 'learnpress' ),
'id' => 'profile_endpoints[settings]',
'type' => 'text',
'default' => 'settings',
'placeholder' => 'settings',
'desc' => sprintf( 'e.g. %s', "{$profile_url}/{$settings_slug}" ),
),
array(
'title' => __( 'Basic Information Settings', 'learnpress' ),
'id' => 'profile_endpoints[settings-basic-information]',
'type' => 'text',
'default' => 'basic-information',
'placeholder' => 'basic-information',
'desc' => sprintf( 'e.g. %s', "{$profile_url}/{$settings_slug}/" . $settings->get( 'profile_endpoints.settings-basic-information', 'basic-information' ) . '' ),
),
array(
'title' => __( 'Avatar Settings', 'learnpress' ),
'id' => 'profile_endpoints[settings-avatar]',
'type' => 'text',
'default' => 'avatar',
'placeholder' => 'avatar',
'desc' => sprintf( 'e.g. %s', "{$profile_url}/{$settings_slug}/" . $settings->get( 'profile_endpoints.settings-avatar', 'avatar' ) . '' ),
),
array(
'title' => __( 'Change Password Settings', 'learnpress' ),
'id' => 'profile_endpoints[settings-change-password]',
'type' => 'text',
'default' => 'change-password',
'placeholder' => 'change-password',
'desc' => sprintf( 'e.g. %s', "{$profile_url}/{$settings_slug}/" . $settings->get( 'profile_endpoints.settings-change-password', 'change-password' ) . '' ),
),
array(
'title' => __( 'Privacy Settings', 'learnpress' ),
'id' => 'profile_endpoints[settings-privacy]',
'type' => 'text',
'default' => 'privacy',
'placeholder' => 'privacy',
'desc' => sprintf( 'e.g. %s', "{$profile_url}/{$settings_slug}/" . $settings->get( 'profile_endpoints.settings-privacy', 'privacy' ) . '' ),
),
array(
'type' => 'sectionend',
'id' => 'lp_profile_permalinks',
),
)
)
)
);
$settings = apply_filters( 'learn-press/settings/profile', $settings );
return $settings;
}
}
return new LP_Settings_Profile();