Edit File by line
/home/zeestwma/richards.../wp-conte.../plugins/wpforms-.../src/Admin/Builder/Settings
File: Themes.php
<?php
[0] Fix | Delete
[1] Fix | Delete
namespace WPForms\Admin\Builder\Settings;
[2] Fix | Delete
[3] Fix | Delete
use WPForms\Frontend\CSSVars;
[4] Fix | Delete
use WPForms\Integrations\Gutenberg\RestApi;
[5] Fix | Delete
use WPForms\Integrations\Gutenberg\ThemesData;
[6] Fix | Delete
use WPForms_Builder_Panel_Settings;
[7] Fix | Delete
[8] Fix | Delete
/**
[9] Fix | Delete
* Themes panel.
[10] Fix | Delete
*
[11] Fix | Delete
* @since 1.8.8
[12] Fix | Delete
*/
[13] Fix | Delete
class Themes {
[14] Fix | Delete
[15] Fix | Delete
/**
[16] Fix | Delete
* Form data.
[17] Fix | Delete
*
[18] Fix | Delete
* @since 1.9.7
[19] Fix | Delete
*
[20] Fix | Delete
* @var array
[21] Fix | Delete
*/
[22] Fix | Delete
public $form_data;
[23] Fix | Delete
[24] Fix | Delete
/**
[25] Fix | Delete
* CSS vars class instance.
[26] Fix | Delete
*
[27] Fix | Delete
* @since 1.9.7
[28] Fix | Delete
*
[29] Fix | Delete
* @var CSSVars
[30] Fix | Delete
*/
[31] Fix | Delete
protected $css_vars_obj;
[32] Fix | Delete
[33] Fix | Delete
/**
[34] Fix | Delete
* Rest API class instance.
[35] Fix | Delete
*
[36] Fix | Delete
* @since 1.9.7
[37] Fix | Delete
*
[38] Fix | Delete
* @var ThemesData
[39] Fix | Delete
*/
[40] Fix | Delete
protected $themes_data_obj;
[41] Fix | Delete
[42] Fix | Delete
/**
[43] Fix | Delete
* Size options for themes settings.
[44] Fix | Delete
*
[45] Fix | Delete
* @since 1.9.7
[46] Fix | Delete
*
[47] Fix | Delete
* @var array
[48] Fix | Delete
*/
[49] Fix | Delete
protected $size_options;
[50] Fix | Delete
[51] Fix | Delete
/**
[52] Fix | Delete
* Border type options for themes settings.
[53] Fix | Delete
*
[54] Fix | Delete
* @since 1.9.7
[55] Fix | Delete
*
[56] Fix | Delete
* @var array
[57] Fix | Delete
*/
[58] Fix | Delete
private $border_options;
[59] Fix | Delete
[60] Fix | Delete
/**
[61] Fix | Delete
* Is admin.
[62] Fix | Delete
*
[63] Fix | Delete
* @since 1.9.7
[64] Fix | Delete
*
[65] Fix | Delete
* @var bool
[66] Fix | Delete
*/
[67] Fix | Delete
private $is_admin;
[68] Fix | Delete
[69] Fix | Delete
/**
[70] Fix | Delete
* Whether a modern engine is enabled.
[71] Fix | Delete
*
[72] Fix | Delete
* @since 1.9.7
[73] Fix | Delete
*
[74] Fix | Delete
* @var bool
[75] Fix | Delete
*/
[76] Fix | Delete
private $is_modern;
[77] Fix | Delete
[78] Fix | Delete
/**
[79] Fix | Delete
* Whether full style is used.
[80] Fix | Delete
*
[81] Fix | Delete
* @since 1.9.7
[82] Fix | Delete
*
[83] Fix | Delete
* @var bool
[84] Fix | Delete
*/
[85] Fix | Delete
private $is_full_styles;
[86] Fix | Delete
[87] Fix | Delete
/**
[88] Fix | Delete
* Init class.
[89] Fix | Delete
*
[90] Fix | Delete
* @since 1.8.8
[91] Fix | Delete
*/
[92] Fix | Delete
public function init(): void {
[93] Fix | Delete
[94] Fix | Delete
$this->css_vars_obj = wpforms()->obj( 'css_vars' );
[95] Fix | Delete
$this->is_admin = current_user_can( 'manage_options' );
[96] Fix | Delete
$this->is_modern = wpforms_get_render_engine() === 'modern';
[97] Fix | Delete
$this->is_full_styles = (int) wpforms_setting( 'disable-css', '1' ) === 1;
[98] Fix | Delete
[99] Fix | Delete
$this->size_options = [
[100] Fix | Delete
'small' => esc_html__( 'Small', 'wpforms-lite' ),
[101] Fix | Delete
'medium' => esc_html__( 'Medium', 'wpforms-lite' ),
[102] Fix | Delete
'large' => esc_html__( 'Large', 'wpforms-lite' ),
[103] Fix | Delete
];
[104] Fix | Delete
[105] Fix | Delete
$this->border_options = [
[106] Fix | Delete
'none' => esc_html__( 'None', 'wpforms-lite' ),
[107] Fix | Delete
'solid' => esc_html__( 'Solid', 'wpforms-lite' ),
[108] Fix | Delete
'dashed' => esc_html__( 'Dashed', 'wpforms-lite' ),
[109] Fix | Delete
'dotted' => esc_html__( 'Dotted', 'wpforms-lite' ),
[110] Fix | Delete
];
[111] Fix | Delete
[112] Fix | Delete
$this->hooks();
[113] Fix | Delete
}
[114] Fix | Delete
[115] Fix | Delete
/**
[116] Fix | Delete
* Register hooks.
[117] Fix | Delete
*
[118] Fix | Delete
* @since 1.8.8
[119] Fix | Delete
*/
[120] Fix | Delete
protected function hooks(): void {
[121] Fix | Delete
[122] Fix | Delete
// If the current user can't add posts, he can't save themes either. Enqueue no-access assets.
[123] Fix | Delete
if ( ! current_user_can( 'edit_posts' ) ) {
[124] Fix | Delete
add_action( 'admin_enqueue_scripts', [ $this, 'enqueues_no_access' ] );
[125] Fix | Delete
add_filter( 'wpforms_builder_panel_sidebar_section_classes', [ $this, 'add_pro_class' ], 10, 3 );
[126] Fix | Delete
[127] Fix | Delete
return;
[128] Fix | Delete
}
[129] Fix | Delete
[130] Fix | Delete
add_action( 'wpforms_form_settings_panel_content', [ $this, 'panel_content' ] );
[131] Fix | Delete
add_action( 'wpforms_builder_panel_sidebar_after', [ $this, 'sidebar_content' ], 10, 2 );
[132] Fix | Delete
add_action( 'admin_enqueue_scripts', [ $this, 'enqueues' ] );
[133] Fix | Delete
}
[134] Fix | Delete
[135] Fix | Delete
/**
[136] Fix | Delete
* Enqueue assets for the builder themes.
[137] Fix | Delete
*
[138] Fix | Delete
* @since 1.9.7
[139] Fix | Delete
*/
[140] Fix | Delete
public function enqueues(): void {
[141] Fix | Delete
[142] Fix | Delete
$min = wpforms_get_min_suffix();
[143] Fix | Delete
[144] Fix | Delete
wp_enqueue_script(
[145] Fix | Delete
'wpforms-builder-themes',
[146] Fix | Delete
WPFORMS_PLUGIN_URL . "assets/js/admin/builder/themes/builder-themes{$min}.js",
[147] Fix | Delete
[ 'wpforms-builder', 'wp-api-fetch' ],
[148] Fix | Delete
WPFORMS_VERSION,
[149] Fix | Delete
true
[150] Fix | Delete
);
[151] Fix | Delete
[152] Fix | Delete
wp_enqueue_style(
[153] Fix | Delete
'wpforms-full',
[154] Fix | Delete
WPFORMS_PLUGIN_URL . "assets/css/frontend/modern/wpforms-full{$min}.css",
[155] Fix | Delete
[],
[156] Fix | Delete
WPFORMS_VERSION
[157] Fix | Delete
);
[158] Fix | Delete
[159] Fix | Delete
wp_localize_script(
[160] Fix | Delete
'wpforms-builder-themes',
[161] Fix | Delete
'wpforms_builder_themes',
[162] Fix | Delete
$this->get_localize_data()
[163] Fix | Delete
);
[164] Fix | Delete
[165] Fix | Delete
wp_add_inline_style( 'wpforms-full', $this->css_vars_obj->get_root_vars_css() );
[166] Fix | Delete
}
[167] Fix | Delete
[168] Fix | Delete
/**
[169] Fix | Delete
* Enqueue assets for the builder themes for the users who don't have access to the theme settings.
[170] Fix | Delete
*
[171] Fix | Delete
* @since 1.9.8
[172] Fix | Delete
*/
[173] Fix | Delete
public function enqueues_no_access(): void {
[174] Fix | Delete
[175] Fix | Delete
$min = wpforms_get_min_suffix();
[176] Fix | Delete
[177] Fix | Delete
wp_enqueue_script(
[178] Fix | Delete
'wpforms-builder-themes-no-access',
[179] Fix | Delete
WPFORMS_PLUGIN_URL . "assets/js/admin/builder/themes/builder-themes-no-access{$min}.js",
[180] Fix | Delete
[ 'wpforms-builder', 'wp-api-fetch' ],
[181] Fix | Delete
WPFORMS_VERSION,
[182] Fix | Delete
true
[183] Fix | Delete
);
[184] Fix | Delete
[185] Fix | Delete
wp_localize_script(
[186] Fix | Delete
'wpforms-builder-themes-no-access',
[187] Fix | Delete
'wpforms_builder_themes_no_access',
[188] Fix | Delete
$this->get_localize_data()
[189] Fix | Delete
);
[190] Fix | Delete
}
[191] Fix | Delete
[192] Fix | Delete
/**
[193] Fix | Delete
* Add a class to the themes section if the user doesn't have access to it.
[194] Fix | Delete
*
[195] Fix | Delete
* @since 1.9.8
[196] Fix | Delete
*
[197] Fix | Delete
* @param array $classes Sidebar section classes.
[198] Fix | Delete
* @param string $name Sidebar section name.
[199] Fix | Delete
* @param string $slug Sidebar section slug.
[200] Fix | Delete
*
[201] Fix | Delete
* @return array
[202] Fix | Delete
* @noinspection PhpUnusedParameterInspection
[203] Fix | Delete
*/
[204] Fix | Delete
public function add_pro_class( array $classes, string $name, string $slug ): array {
[205] Fix | Delete
[206] Fix | Delete
if ( $slug !== 'themes' ) {
[207] Fix | Delete
return $classes;
[208] Fix | Delete
}
[209] Fix | Delete
[210] Fix | Delete
return array_merge( $classes, [ 'wpforms-panel-sidebar-section-no-access' ] );
[211] Fix | Delete
}
[212] Fix | Delete
[213] Fix | Delete
/**
[214] Fix | Delete
* Get localize data.
[215] Fix | Delete
*
[216] Fix | Delete
* @since 1.9.7
[217] Fix | Delete
*
[218] Fix | Delete
* @return array
[219] Fix | Delete
*/
[220] Fix | Delete
protected function get_localize_data(): array {
[221] Fix | Delete
[222] Fix | Delete
return [
[223] Fix | Delete
'modules' => $this->get_modules(),
[224] Fix | Delete
'sizes' => [
[225] Fix | Delete
'field-size' => CSSVars::FIELD_SIZE,
[226] Fix | Delete
'label-size' => CSSVars::LABEL_SIZE,
[227] Fix | Delete
'button-size' => CSSVars::BUTTON_SIZE,
[228] Fix | Delete
'container-shadow-size' => CSSVars::CONTAINER_SHADOW_SIZE,
[229] Fix | Delete
],
[230] Fix | Delete
'strings' => [
[231] Fix | Delete
'heads_up' => esc_html__( 'Heads Up!', 'wpforms-lite' ),
[232] Fix | Delete
'themes_error' => esc_html__( 'Error loading themes. Please try again later.', 'wpforms-lite' ),
[233] Fix | Delete
'button_background' => esc_html__( 'Button Background', 'wpforms-lite' ),
[234] Fix | Delete
'button_text' => esc_html__( 'Button Text', 'wpforms-lite' ),
[235] Fix | Delete
'copy_paste_error' => esc_html__( 'There was an error parsing your JSON code. Please check your code and try again.', 'wpforms-lite' ),
[236] Fix | Delete
'field_label' => esc_html__( 'Field Label', 'wpforms-lite' ),
[237] Fix | Delete
'field_sublabel' => esc_html__( 'Field Sublabel', 'wpforms-lite' ),
[238] Fix | Delete
'field_border' => esc_html__( 'Field Border', 'wpforms-lite' ),
[239] Fix | Delete
'theme_delete_title' => esc_html__( 'Delete Form Theme', 'wpforms-lite' ),
[240] Fix | Delete
// Translators: %1$s: Theme name.
[241] Fix | Delete
'theme_delete_confirm' => esc_html__( 'Are you sure you want to delete the %1$s theme?', 'wpforms-lite' ),
[242] Fix | Delete
'theme_delete_cant_undone' => esc_html__( 'This cannot be undone.', 'wpforms-lite' ),
[243] Fix | Delete
'theme_delete_yes' => esc_html__( 'Yes, Delete', 'wpforms-lite' ),
[244] Fix | Delete
'theme_copy' => esc_html__( 'Copy', 'wpforms-lite' ),
[245] Fix | Delete
'theme_custom' => esc_html__( 'Custom Theme', 'wpforms-lite' ),
[246] Fix | Delete
'theme_noname' => esc_html__( 'Noname Theme', 'wpforms-lite' ),
[247] Fix | Delete
'pro_sections' => [
[248] Fix | Delete
'background' => esc_html__( 'Background Styles', 'wpforms-lite' ),
[249] Fix | Delete
'container' => esc_html__( 'Container Styles', 'wpforms-lite' ),
[250] Fix | Delete
'themes' => esc_html__( 'Themes', 'wpforms-lite' ),
[251] Fix | Delete
],
[252] Fix | Delete
'permission_modal' => [
[253] Fix | Delete
'title' => esc_html__( 'Insufficient Permissions', 'wpforms-lite' ),
[254] Fix | Delete
'content' => esc_html__( "Sorry, your user role doesn't have permission to access this feature.", 'wpforms-lite' ),
[255] Fix | Delete
'confirm' => esc_html__( 'OK', 'wpforms-lite' ),
[256] Fix | Delete
],
[257] Fix | Delete
],
[258] Fix | Delete
'isAdmin' => $this->is_admin,
[259] Fix | Delete
'isPro' => wpforms()->is_pro(),
[260] Fix | Delete
'isModern' => $this->is_modern,
[261] Fix | Delete
'isFullStyles' => $this->is_full_styles,
[262] Fix | Delete
'route_namespace' => RestApi::ROUTE_NAMESPACE,
[263] Fix | Delete
];
[264] Fix | Delete
}
[265] Fix | Delete
[266] Fix | Delete
/**
[267] Fix | Delete
* Get Form Builder themes modules.
[268] Fix | Delete
*
[269] Fix | Delete
* @since 1.9.7
[270] Fix | Delete
*
[271] Fix | Delete
* @return array Modules list.
[272] Fix | Delete
*/
[273] Fix | Delete
public function get_modules(): array {
[274] Fix | Delete
[275] Fix | Delete
$min = wpforms_get_min_suffix();
[276] Fix | Delete
[277] Fix | Delete
return [
[278] Fix | Delete
[
[279] Fix | Delete
'name' => 'common',
[280] Fix | Delete
'path' => "./modules/common{$min}.js",
[281] Fix | Delete
],
[282] Fix | Delete
[
[283] Fix | Delete
'name' => 'themes',
[284] Fix | Delete
'path' => "./modules/themes{$min}.js",
[285] Fix | Delete
],
[286] Fix | Delete
[
[287] Fix | Delete
'name' => 'stockPhotos',
[288] Fix | Delete
'path' => "./modules/stock-photos{$min}.js",
[289] Fix | Delete
],
[290] Fix | Delete
[
[291] Fix | Delete
'name' => 'background',
[292] Fix | Delete
'path' => "./modules/background{$min}.js",
[293] Fix | Delete
],
[294] Fix | Delete
[
[295] Fix | Delete
'name' => 'advancedSettings',
[296] Fix | Delete
'path' => "./modules/advanced-settings{$min}.js",
[297] Fix | Delete
],
[298] Fix | Delete
];
[299] Fix | Delete
}
[300] Fix | Delete
[301] Fix | Delete
/**
[302] Fix | Delete
* Add a content for `Themes` panel.
[303] Fix | Delete
*
[304] Fix | Delete
* @since 1.8.8
[305] Fix | Delete
*
[306] Fix | Delete
* @param WPForms_Builder_Panel_Settings $instance Settings panel instance.
[307] Fix | Delete
*
[308] Fix | Delete
* @noinspection HtmlUnknownTarget
[309] Fix | Delete
*/
[310] Fix | Delete
public function panel_content( WPForms_Builder_Panel_Settings $instance ): void {
[311] Fix | Delete
[312] Fix | Delete
$this->form_data = $instance->form_data;
[313] Fix | Delete
$url = wpforms_utm_link( 'https://wpforms.com/docs/styling-your-forms/', 'Builder Themes', 'Description Link' );
[314] Fix | Delete
[315] Fix | Delete
?>
[316] Fix | Delete
<div class="wpforms-panel-content-section wpforms-panel-content-section-themes">
[317] Fix | Delete
<div class="wpforms-panel-content-section-themes-inner">
[318] Fix | Delete
<div class="wpforms-panel-content-section-themes-top">
[319] Fix | Delete
<div class="wpforms-panel-content-section-title">
[320] Fix | Delete
<?php esc_html_e( 'Form Themes', 'wpforms-lite' ); ?>
[321] Fix | Delete
</div>
[322] Fix | Delete
[323] Fix | Delete
<div class="wpforms-panel-content-section-themes-preview">
[324] Fix | Delete
<p class="wpforms-panel-content-section-themes-preview-description">
[325] Fix | Delete
<?php
[326] Fix | Delete
echo wp_kses_post(
[327] Fix | Delete
sprintf(
[328] Fix | Delete
/* translators: %s - URL to the documentation. */
[329] Fix | Delete
__( 'Customize the look and feel of your form with premade themes or simple style settings that allow you to use your own colors to match your brand. Themes and style settings are also available in the Block Editor and Elementor, where you can see a realtime preview. <a href="%s" target="_blank">Learn more about styling your forms</a>.', 'wpforms-lite' ),
[330] Fix | Delete
$url
[331] Fix | Delete
)
[332] Fix | Delete
);
[333] Fix | Delete
?>
[334] Fix | Delete
</p>
[335] Fix | Delete
[336] Fix | Delete
<div class="wpforms-alert wpforms-alert-warning wpforms-alert-warning-wide wpforms-builder-themes-preview-notice">
[337] Fix | Delete
<h4>
[338] Fix | Delete
<?php esc_html_e( 'Preview only', 'wpforms-lite' ); ?>
[339] Fix | Delete
</h4>
[340] Fix | Delete
<p>
[341] Fix | Delete
<?php esc_html_e( 'The fields shown below are for demo purposes and do not reflect the fields in your actual form.', 'wpforms-lite' ); ?>
[342] Fix | Delete
</p>
[343] Fix | Delete
</div>
[344] Fix | Delete
[345] Fix | Delete
<?php
[346] Fix | Delete
echo wpforms_render( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
[347] Fix | Delete
'builder/themes/notices',
[348] Fix | Delete
[
[349] Fix | Delete
'is_modern' => $this->is_modern,
[350] Fix | Delete
'is_full_styles' => $this->is_full_styles,
[351] Fix | Delete
],
[352] Fix | Delete
true
[353] Fix | Delete
);
[354] Fix | Delete
[355] Fix | Delete
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
[356] Fix | Delete
echo wpforms_render( 'builder/themes/preview' );
[357] Fix | Delete
?>
[358] Fix | Delete
</div>
[359] Fix | Delete
[360] Fix | Delete
</div> <!-- .wpforms-panel-content-section-themes-top -->
[361] Fix | Delete
</div> <!-- .wpforms-panel-content-section-themes-inner -->
[362] Fix | Delete
</div> <!-- .wpforms-panel-content-section-themes -->
[363] Fix | Delete
<?php
[364] Fix | Delete
}
[365] Fix | Delete
[366] Fix | Delete
/**
[367] Fix | Delete
* Add content for the Themes Sidebar.
[368] Fix | Delete
*
[369] Fix | Delete
* @param object $form Current form object.
[370] Fix | Delete
* @param string $slug Current panel slug.
[371] Fix | Delete
*
[372] Fix | Delete
* @since 1.9.7
[373] Fix | Delete
*/
[374] Fix | Delete
public function sidebar_content( $form, $slug ): void {
[375] Fix | Delete
[376] Fix | Delete
if ( $slug !== 'settings' ) {
[377] Fix | Delete
return;
[378] Fix | Delete
}
[379] Fix | Delete
[380] Fix | Delete
$form_obj = wpforms()->obj( 'form' );
[381] Fix | Delete
[382] Fix | Delete
if ( ! $form_obj || ! isset( $form->ID ) ) {
[383] Fix | Delete
return;
[384] Fix | Delete
}
[385] Fix | Delete
[386] Fix | Delete
$form_data = $form_obj->get( $form->ID, [ 'content_only' => true ] );
[387] Fix | Delete
[388] Fix | Delete
$this->form_data = $form_data;
[389] Fix | Delete
[390] Fix | Delete
$this->show_sidebar_html();
[391] Fix | Delete
}
[392] Fix | Delete
[393] Fix | Delete
/**
[394] Fix | Delete
* Show sidebar HTML.
[395] Fix | Delete
*
[396] Fix | Delete
* @since 1.9.7
[397] Fix | Delete
*/
[398] Fix | Delete
private function show_sidebar_html(): void {
[399] Fix | Delete
?>
[400] Fix | Delete
<div id="wpforms-builder-themes-sidebar" class="wpforms-hidden">
[401] Fix | Delete
<div class="wpforms-builder-themes-sidebar-head">
[402] Fix | Delete
<button id="wpforms-builder-themes-back"> <?php esc_html_e( 'Back to Settings', 'wpforms-lite' ); ?></button>
[403] Fix | Delete
</div>
[404] Fix | Delete
<div id="wpforms-builder-themes-sidebar-tabs">
[405] Fix | Delete
<a href="#" class="active"><?php esc_html_e( 'General', 'wpforms-lite' ); ?></a>
[406] Fix | Delete
<?php if ( $this->is_admin ) : ?>
[407] Fix | Delete
<a href="#"><?php esc_html_e( 'Advanced', 'wpforms-lite' ); ?></a>
[408] Fix | Delete
<?php endif; ?>
[409] Fix | Delete
</div>
[410] Fix | Delete
<div class="wpforms-builder-themes-sidebar-content">
[411] Fix | Delete
[412] Fix | Delete
<div class="wpforms-builder-themes-sidebar-general wpforms-builder-themes-sidebar-tab-content">
[413] Fix | Delete
<?php $this->show_sidebar_themes(); ?>
[414] Fix | Delete
<div class="wpforms-builder-themes-restricted <?php echo esc_attr( ! $this->is_admin ? 'wpforms-hidden' : '' ); ?>">
[415] Fix | Delete
<?php $this->show_sidebar_field_styles(); ?>
[416] Fix | Delete
<?php $this->show_sidebar_label_styles(); ?>
[417] Fix | Delete
<?php $this->show_sidebar_button_styles(); ?>
[418] Fix | Delete
<?php $this->show_sidebar_container_styles(); ?>
[419] Fix | Delete
<?php $this->show_sidebar_background_styles(); ?>
[420] Fix | Delete
<?php $this->show_sidebar_other_styles(); ?>
[421] Fix | Delete
</div>
[422] Fix | Delete
</div>
[423] Fix | Delete
<div class="wpforms-builder-themes-sidebar-advanced wpforms-builder-themes-sidebar-tab-content wpforms-hidden">
[424] Fix | Delete
<?php $this->show_sidebar_advanced(); ?>
[425] Fix | Delete
</div>
[426] Fix | Delete
[427] Fix | Delete
</div>
[428] Fix | Delete
</div>
[429] Fix | Delete
<?php
[430] Fix | Delete
}
[431] Fix | Delete
[432] Fix | Delete
/**
[433] Fix | Delete
* Show sidebar themes.
[434] Fix | Delete
*
[435] Fix | Delete
* @since 1.9.7
[436] Fix | Delete
*
[437] Fix | Delete
* @return void
[438] Fix | Delete
*/
[439] Fix | Delete
private function show_sidebar_themes(): void {
[440] Fix | Delete
[441] Fix | Delete
?>
[442] Fix | Delete
<div class="wpforms-add-fields-group">
[443] Fix | Delete
<a href="#" class="wpforms-add-fields-heading" data-group="themes">
[444] Fix | Delete
<span><?php esc_html_e( 'Themes', 'wpforms-lite' ); ?></span>
[445] Fix | Delete
<i class="fa fa-angle-down"></i>
[446] Fix | Delete
</a>
[447] Fix | Delete
<div class="wpforms-add-fields-buttons">
[448] Fix | Delete
<?php
[449] Fix | Delete
[450] Fix | Delete
wpforms_panel_field(
[451] Fix | Delete
'text',
[452] Fix | Delete
'themes',
[453] Fix | Delete
'wpformsTheme',
[454] Fix | Delete
$this->form_data,
[455] Fix | Delete
esc_html__( 'Theme', 'wpforms-lite' ),
[456] Fix | Delete
[
[457] Fix | Delete
'parent' => 'settings',
[458] Fix | Delete
'type' => 'hidden',
[459] Fix | Delete
'value' => $this->form_data['settings']['themes']['wpformsTheme'] ?? 'default',
[460] Fix | Delete
'class' => 'wpforms-hidden',
[461] Fix | Delete
]
[462] Fix | Delete
);
[463] Fix | Delete
[464] Fix | Delete
wpforms_panel_field(
[465] Fix | Delete
'text',
[466] Fix | Delete
'themes',
[467] Fix | Delete
'isCustomTheme',
[468] Fix | Delete
$this->form_data,
[469] Fix | Delete
false,
[470] Fix | Delete
[
[471] Fix | Delete
'parent' => 'settings',
[472] Fix | Delete
'type' => 'hidden',
[473] Fix | Delete
'value' => $this->form_data['settings']['themes']['isCustomTheme'] ?? '',
[474] Fix | Delete
'class' => 'wpforms-hidden',
[475] Fix | Delete
]
[476] Fix | Delete
);
[477] Fix | Delete
[478] Fix | Delete
?>
[479] Fix | Delete
[480] Fix | Delete
<div class="wpforms-builder-themes-control"></div>
[481] Fix | Delete
[482] Fix | Delete
<?php
[483] Fix | Delete
[484] Fix | Delete
wpforms_panel_field(
[485] Fix | Delete
'text',
[486] Fix | Delete
'themes',
[487] Fix | Delete
'themeName',
[488] Fix | Delete
$this->form_data,
[489] Fix | Delete
esc_html__( 'Theme Name', 'wpforms-lite' ),
[490] Fix | Delete
[
[491] Fix | Delete
'parent' => 'settings',
[492] Fix | Delete
'type' => 'text',
[493] Fix | Delete
'value' => $this->form_data['settings']['themes']['themeName'] ?? '',
[494] Fix | Delete
'class' => 'wpforms-hidden',
[495] Fix | Delete
]
[496] Fix | Delete
);
[497] Fix | Delete
[498] Fix | Delete
?>
[499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function