version 4.13.0

This commit is contained in:
2021-12-07 11:08:05 +00:00
commit cb26d2c0c4
1285 changed files with 254735 additions and 0 deletions

View File

@ -0,0 +1,197 @@
<?php
if ( ! function_exists( 'et_divi_font_style_choices' ) ) :
/**
* Returns font style options
* @return array
*/
function et_divi_font_style_choices() {
return apply_filters( 'et_divi_font_style_choices', array(
'bold' => esc_html__( 'Bold', 'Divi' ),
'italic' => esc_html__( 'Italic', 'Divi' ),
'uppercase' => esc_html__( 'Uppercase', 'Divi' ),
'underline' => esc_html__( 'Underline', 'Divi' ),
) );
}
endif;
if ( ! function_exists( 'et_divi_color_scheme_choices' ) ) :
/**
* Returns list of color scheme used by Divi
* @return array
*/
function et_divi_color_scheme_choices() {
return apply_filters( 'et_divi_color_scheme_choices', array(
'none' => esc_html__( 'Default', 'Divi' ),
'green' => esc_html__( 'Green', 'Divi' ),
'orange' => esc_html__( 'Orange', 'Divi' ),
'pink' => esc_html__( 'Pink', 'Divi' ),
'red' => esc_html__( 'Red', 'Divi' ),
) );
}
endif;
if ( ! function_exists( 'et_divi_header_style_choices' ) ) :
/**
* Returns list of header styles used by Divi
* @return array
*/
function et_divi_header_style_choices() {
return apply_filters( 'et_divi_header_style_choices', array(
'left' => esc_html__( 'Default', 'Divi' ),
'centered' => esc_html__( 'Centered', 'Divi' ),
'split' => esc_html__( 'Centered Inline Logo', 'Divi' ),
'slide' => esc_html__( 'Slide In', 'Divi' ),
'fullscreen' => esc_html__( 'Fullscreen', 'Divi' ),
) );
}
endif;
if ( ! function_exists( 'et_divi_dropdown_animation_choices' ) ) :
/**
* Returns list of dropdown animation
* @return array
*/
function et_divi_dropdown_animation_choices() {
return apply_filters( 'et_divi_dropdown_animation_choices', array(
'fade' => esc_html__( 'Fade', 'Divi' ),
'expand' => esc_html__( 'Expand', 'Divi' ),
'slide' => esc_html__( 'Slide', 'Divi' ),
'flip' => esc_html__( 'Flip', 'Divi' )
) );
}
endif;
if ( ! function_exists( 'et_divi_footer_column_choices' ) ) :
/**
* Returns list of footer column choices
* @return array
*/
function et_divi_footer_column_choices() {
return apply_filters( 'et_divi_footer_column_choices', array(
'4' => sprintf( esc_html__( '%1$s Columns', 'Divi' ), '4' ),
'3' => sprintf( esc_html__( '%1$s Columns', 'Divi' ), '3' ),
'2' => sprintf( esc_html__( '%1$s Columns', 'Divi' ), '2' ),
'1' => esc_html__( '1 Column', 'Divi' ),
'_1_4__3_4' => sprintf( esc_html__( '%1$s Columns', 'Divi' ), '1/4 + 3/4' ),
'_3_4__1_4' => sprintf( esc_html__( '%1$s Columns', 'Divi' ), '3/4 + 1/4' ),
'_1_3__2_3' => sprintf( esc_html__( '%1$s Columns', 'Divi' ), '1/3 + 2/3' ),
'_2_3__1_3' => sprintf( esc_html__( '%1$s Columns', 'Divi' ), '2/3 + 1/3' ),
'_1_4__1_2' => sprintf( esc_html__( '%1$s Columns', 'Divi' ), '1/4 + 1/4 + 1/2' ),
'_1_2__1_4' => sprintf( esc_html__( '%1$s Columns', 'Divi' ), '1/2 + 1/4 + 1/4' ),
'_1_5__3_5' => sprintf( esc_html__( '%1$s Columns', 'Divi' ), '1/5 + 1/5 + 3/5' ),
'_3_5__1_5' => sprintf( esc_html__( '%1$s Columns', 'Divi' ), '3/5 + 1/5 + 1/5' ),
'5' => sprintf( esc_html__( '%1$s Columns', 'Divi' ), '5' ),
'_3_5__2_5' => sprintf( esc_html__( '%1$s Columns', 'Divi' ), '3/5 + 2/5' ),
'_2_5__3_5' => sprintf( esc_html__( '%1$s Columns', 'Divi' ), '2/5 + 3/5' ),
'6' => sprintf( esc_html__( '%1$s Columns', 'Divi' ), '6' ),
'_1_2__1_6' => sprintf( esc_html__( '%1$s Columns', 'Divi' ), '1/2 + 1/6 + 1/6 + 1/6' ),
'_1_6__1_2' => sprintf( esc_html__( '%1$s Columns', 'Divi' ), '1/6 + 1/6 + 1/6 + 1/2' ),
'_1_4_1_2_1_4' => sprintf( esc_html__( '%1$s Columns', 'Divi' ), '1/4 + 1/2 + 1/4' ),
'_1_5_3_5_1_5' => sprintf( esc_html__( '%1$s Columns', 'Divi' ), '1/5 + 3/5 + 1/5' ),
) );
}
endif;
if ( ! function_exists( 'et_divi_yes_no_choices' ) ) :
/**
* Returns yes no choices
* @return array
*/
function et_divi_yes_no_choices() {
return apply_filters( 'et_divi_yes_no_choices', array(
'yes' => esc_html__( 'Yes', 'Divi' ),
'no' => esc_html__( 'No', 'Divi' )
) );
}
endif;
if ( ! function_exists( 'et_divi_left_right_choices' ) ) :
/**
* Returns left or right choices
* @return array
*/
function et_divi_left_right_choices() {
return apply_filters( 'et_divi_left_right_choices', array(
'right' => esc_html__( 'Right', 'Divi' ),
'left' => esc_html__( 'Left', 'Divi' )
) );
}
endif;
if ( ! function_exists( 'et_divi_image_animation_choices' ) ) :
/**
* Returns image animation choices
* @return array
*/
function et_divi_image_animation_choices() {
return apply_filters( 'et_divi_image_animation_choices', array(
'left' => esc_html__( 'Left to Right', 'Divi' ),
'right' => esc_html__( 'Right to Left', 'Divi' ),
'top' => esc_html__( 'Top to Bottom', 'Divi' ),
'bottom' => esc_html__( 'Bottom to Top', 'Divi' ),
'fade_in' => esc_html__( 'Fade In', 'Divi' ),
'off' => esc_html__( 'No Animation', 'Divi' ),
) );
}
endif;
if ( ! function_exists( 'et_divi_divider_style_choices' ) ) :
/**
* Returns divider style choices
* @return array
*/
function et_divi_divider_style_choices() {
return apply_filters( 'et_divi_divider_style_choices', array(
'solid' => esc_html__( 'Solid', 'Divi' ),
'dotted' => esc_html__( 'Dotted', 'Divi' ),
'dashed' => esc_html__( 'Dashed', 'Divi' ),
'double' => esc_html__( 'Double', 'Divi' ),
'groove' => esc_html__( 'Groove', 'Divi' ),
'ridge' => esc_html__( 'Ridge', 'Divi' ),
'inset' => esc_html__( 'Inset', 'Divi' ),
'outset' => esc_html__( 'Outset', 'Divi' ),
) );
}
endif;
if ( ! function_exists( 'et_divi_divider_position_choices' ) ) :
/**
* Returns divider position choices
* @return array
*/
function et_divi_divider_position_choices() {
return apply_filters( 'et_divi_divider_position_choices', array(
'top' => esc_html__( 'Top', 'Divi' ),
'center' => esc_html__( 'Vertically Centered', 'Divi' ),
'bottom' => esc_html__( 'Bottom', 'Divi' ),
) );
}
endif;
if ( ! function_exists( 'et_divi_background_repeat_choices' ) ) :
/**
* Returns background repeat choices
* @return array
*/
function et_divi_background_repeat_choices() {
return apply_filters( 'et_divi_background_repeat_choices', array(
'no-repeat' => esc_html__( 'No Repeat', 'Divi' ),
'repeat' => esc_html__( 'Tile', 'Divi' ),
'repeat-x' => esc_html__( 'Tile Horizontally', 'Divi' ),
'repeat-y' => esc_html__( 'Tile Vertically', 'Divi' ),
) );
}
endif;
if ( ! function_exists( 'et_divi_background_attachment_choices' ) ) :
/**
* Returns background attachment choices
* @return array
*/
function et_divi_background_attachment_choices() {
return apply_filters( 'et_divi_background_attachment_choices', array(
'scroll' => esc_html__( 'Scroll', 'Divi' ),
'fixed' => esc_html__( 'Fixed', 'Divi' ),
) );
}
endif;

View File

@ -0,0 +1,259 @@
<?php
/**
* Handles the dynamic assets list logic for Divi theme.
*
* @package Divi
*/
/**
* Gets a list of global asset files.
*
* @param array $global_list List of globally needed assets.
*
* @since ??
*
* @return array
*/
function et_divi_get_global_assets_list( $global_list ) {
$post_id = get_the_ID();
$post_data = get_post( $post_id );
$post_content = isset( $post_data ) ? $post_data->post_content : '';
$assets_list = array();
$assets_prefix = get_template_directory() . '/css/dynamic-assets';
$js_assets_prefix = get_template_directory() . '/js/src/dynamic-assets';
$shared_assets_prefix = get_template_directory() . '/includes/builder/feature/dynamic-assets/assets';
$is_page_builder_used = et_pb_is_pagebuilder_used( $post_id );
$side_nav = get_post_meta( $post_id, '_et_pb_side_nav', true );
$has_tb_header = false;
$has_tb_body = false;
$has_tb_footer = false;
$layouts = et_theme_builder_get_template_layouts();
$is_blank_page_tpl = is_page_template( 'page-template-blank.php' );
$vertical_nav = et_get_option( 'vertical_nav', false );
$header_style = et_get_option( 'header_style', 'left' );
$color_scheme = et_get_option( 'color_schemes', 'none' );
$page_custom_gutter = get_post_meta( $post_id, '_et_pb_gutter_width', true );
$customizer_gutter = et_get_option( 'gutter_width', '3' );
$gutter_width = ! empty( $page_custom_gutter ) ? $page_custom_gutter : $customizer_gutter;
$back_to_top = et_get_option( 'divi_back_to_top', 'false' );
$et_secondary_nav_items = et_divi_get_top_nav_items();
$et_top_info_defined = $et_secondary_nav_items->top_info_defined;
$et_slide_header = 'slide' === et_get_option( 'header_style', 'left' ) || 'fullscreen' === et_get_option( 'header_style', 'left' ) ? true : false;
$button_icon = et_get_option( 'all_buttons_selected_icon', '5' );
$page_layout = get_post_meta( $post_id, '_et_pb_page_layout', true );
if ( ! empty( $layouts ) ) {
if ( $layouts[ ET_THEME_BUILDER_HEADER_LAYOUT_POST_TYPE ]['override'] ) {
$has_tb_header = true;
}
if ( $layouts[ ET_THEME_BUILDER_BODY_LAYOUT_POST_TYPE ]['override'] ) {
$has_tb_body = true;
}
if ( $layouts[ ET_THEME_BUILDER_FOOTER_LAYOUT_POST_TYPE ]['override'] ) {
$has_tb_footer = true;
}
}
if ( '5' !== $button_icon ) {
$assets_list['et_icons'] = array(
'css' => "{$shared_assets_prefix}/css/icons_all.css",
);
}
if ( ! $has_tb_header && ! $is_blank_page_tpl ) {
$assets_list['et_divi_header'] = array(
'css' => array(
"{$assets_prefix}/header.css",
"{$shared_assets_prefix}/css/header_animations.css",
"{$shared_assets_prefix}/css/header_shared.css",
),
);
if ( et_divi_is_transparent_primary_nav() ) {
$assets_list['et_divi_transparent_nav'] = array(
'css' => "{$assets_prefix}/transparent_nav.css",
);
}
if ( $et_top_info_defined && ! $et_slide_header ) {
$assets_list['et_divi_secondary_nav'] = array(
'css' => "{$assets_prefix}/secondary_nav.css",
);
}
switch ( $header_style ) {
case 'slide':
$assets_list['et_divi_header_slide_in'] = array(
'css' => "{$assets_prefix}/slide_in_menu.css",
);
break;
case 'fullscreen':
$assets_list['et_divi_header_fullscreen'] = array(
'css' => array(
"{$assets_prefix}/slide_in_menu.css",
"{$assets_prefix}/fullscreen_header.css",
),
);
break;
case 'centered':
$assets_list['et_divi_header_centered'] = array(
'css' => "{$assets_prefix}/centered_header.css",
);
break;
case 'split':
$assets_list['et_divi_header_split'] = array(
'css' => array(
"{$assets_prefix}/centered_header.css",
"{$assets_prefix}/split_header.css",
),
);
break;
default:
break;
}
if ( $vertical_nav ) {
$assets_list['et_divi_vertical_nav'] = array(
'css' => "{$assets_prefix}/vertical_nav.css",
);
}
}
if ( ! $has_tb_footer && ! $is_blank_page_tpl ) {
$assets_list['et_divi_footer'] = array(
'css' => "{$assets_prefix}/footer.css",
);
$assets_list['et_divi_gutters_footer'] = array(
'css' => "{$assets_prefix}/gutters{$gutter_width}_footer.css",
);
}
if ( ( ! $has_tb_header || ! $has_tb_footer ) && ! $is_blank_page_tpl ) {
$assets_list['et_divi_social_icons'] = array(
'css' => "{$assets_prefix}/social_icons.css",
);
}
if ( et_divi_is_boxed_layout() ) {
$assets_list['et_divi_boxed_layout'] = array(
'css' => "{$assets_prefix}/boxed_layout.css",
);
}
if ( is_singular( 'project' ) ) {
$assets_list['et_divi_project'] = array(
'css' => "{$assets_prefix}/project.css",
);
}
if ( $is_page_builder_used && is_single() ) {
$assets_list['et_divi_pagebuilder_posts'] = array(
'css' => "{$assets_prefix}/pagebuilder_posts.css",
);
}
if
( // Sidebar exists on the homepage blog feed.
( is_home() ) ||
// Sidebar exists on all non-singular pages, such as categories, except when using a theme builder template.
( ! is_singular() && ! $has_tb_body ) ||
// Sidebar exists on posts, except when using a theme builder body template or a page template that doesn't include a sidebar.
( is_single() && ! $has_tb_body && ! in_array( $page_layout, array( 'et_full_width_page', 'et_no_sidebar' ), true ) ) ||
// Sidebar is used on pages when the builder is disabled.
( ( is_page() || is_front_page() ) && ! $has_tb_body && ! $is_page_builder_used && ! in_array( $page_layout, array( 'et_full_width_page', 'et_no_sidebar' ), true ) )
) {
$assets_list['et_divi_sidebar'] = array(
'css' => "{$assets_prefix}/sidebar.css",
);
}
if ( ( is_single() || is_page() || is_home() ) && comments_open( $post_id ) ) {
$assets_list['et_divi_comments'] = array(
'css' => array(
"{$assets_prefix}/comments.css",
"{$shared_assets_prefix}/css/comments_shared.css",
),
);
}
if ( et_pb_are_widgets_used() ) {
$assets_list['et_divi_widgets_shared'] = array(
'css' => "{$shared_assets_prefix}/css/widgets_shared.css",
);
}
if ( is_active_widget( false, false, 'calendar', true ) || et_is_active_block_widget( 'core/calendar' ) ) {
$assets_list['et_divi_widget_calendar'] = array(
'css' => "{$assets_prefix}/widget_calendar.css",
);
}
if ( is_active_widget( false, false, 'search', true ) || et_is_active_block_widget( 'core/search' ) ) {
$assets_list['et_divi_widget_search'] = array(
'css' => "{$assets_prefix}/widget_search.css",
);
}
if ( is_active_widget( false, false, 'tag_cloud', true ) || et_is_active_block_widget( 'core/tag-cloud' ) ) {
$assets_list['et_divi_widget_tag_cloud'] = array(
'css' => "{$assets_prefix}/widget_tag_cloud.css",
);
}
if ( is_active_widget( false, false, 'media_gallery', true ) || et_is_active_block_widget( 'core/gallery' ) ) {
$assets_list['et_divi_widget_gallery'] = array(
'css' => array(
"{$shared_assets_prefix}/css/wp_gallery.css",
"{$shared_assets_prefix}/css/magnific_popup.css",
),
);
}
if ( is_active_widget( false, false, 'aboutmewidget', true ) ) {
$assets_list['et_divi_widget_about'] = array(
'css' => "{$assets_prefix}/widget_about.css",
);
}
if ( ( is_singular() || is_home() || is_front_page() ) && 'on' === $side_nav && $is_page_builder_used ) {
$assets_list['et_divi_side_nav'] = array(
'css' => "{$assets_prefix}/side_nav.css",
);
}
if ( 'on' === $back_to_top ) {
$assets_list['et_divi_back_to_top'] = array(
'css' => "{$assets_prefix}/back_to_top.css",
);
}
if ( is_plugin_active( 'woocommerce/woocommerce.php' ) ) {
$assets_list['et_divi_woocommerce'] = array(
'css' => array(
"{$assets_prefix}/woocommerce.css",
"{$shared_assets_prefix}/css/woocommerce_shared.css",
),
);
}
if ( ! is_customize_preview() && 'none' !== $color_scheme ) {
$assets_list['et_color_scheme'] = array(
'css' => "{$assets_prefix}/color_scheme_{$color_scheme}.css",
);
}
if ( is_rtl() ) {
$assets_list['et_divi_rtl'] = array(
'css' => "{$assets_prefix}/rtl.css",
);
}
return array_merge( $global_list, $assets_list );
}
add_filter( 'et_global_assets_list', 'et_divi_get_global_assets_list' );

View File

@ -0,0 +1 @@
<a href="http://www.elegantthemes.com/gallery/divi/readme.html" target="_blank"><?php esc_html_e( 'Read Divi Documentation', $themename ); ?></a>

View File

@ -0,0 +1,305 @@
<?php
/**
* Sanitize float number
* @param mixed
* @return float
*/
function et_sanitize_float_number( $number ) {
return floatval( $number );
}
/**
* Sanitize integer number
* @param mixed
* @return int
*/
function et_sanitize_int_number( $number ) {
return intval( $number );
}
/**
* Sanitize font style
* @param string
* @param string
*/
function et_sanitize_font_style( $styles ) {
// List of allowable style
$allowed_styles = array_keys( et_divi_font_style_choices() );
// Explodes styles into array
$styles_array = explode( '|', $styles );
// Get valid styles
$valid_styles = array_intersect( $allowed_styles, $styles_array );
// Return sanitized styles
return implode( "|", $valid_styles );
}
/**
* Sanitize choosen option based on options' key
* @param string
* @param array
* @return string|bool
*/
function et_sanitize_key_based_option( $choosen, $options, $default = false ) {
// Validate choosen option based on available options
if ( ! isset( $options[ $choosen ] ) ) {
return $default;
}
return $choosen;
}
/**
* Sanitize font choice
* @param string
* @return string|bool
*/
function et_sanitize_font_choices( $choosen ) {
$google_fonts = et_builder_get_fonts();
$user_fonts = et_builder_get_custom_fonts();
// combine google fonts with custom user fonts
$all_fonts = array_merge( $user_fonts, $google_fonts );
return et_sanitize_key_based_option( $choosen, $all_fonts );
}
/**
* Sanitize color scheme
* @param string
* @return string|bool
*/
function et_sanitize_color_scheme( $choosen ) {
return et_sanitize_key_based_option( $choosen, et_divi_color_scheme_choices() );
}
/**
* Sanitize header style
* @param string
* @return string|bool
*/
function et_sanitize_header_style( $choosen ) {
return et_sanitize_key_based_option( $choosen, et_divi_header_style_choices() );
}
/**
* Sanitize dropdown animation
* @param string
* @return string|bool
*/
function et_sanitize_dropdown_animation( $choosen ) {
return et_sanitize_key_based_option( $choosen, et_divi_dropdown_animation_choices() );
}
/**
* Sanitize footer column
* @param string
* @return string|bool
*/
function et_sanitize_footer_column( $choosen ) {
return et_sanitize_key_based_option( $choosen, et_divi_footer_column_choices() );
}
/**
* Sanitize yes no choices
* @param string
* @return string|bool
*/
function et_sanitize_yes_no( $choosen ) {
return et_sanitize_key_based_option( $choosen, et_divi_yes_no_choices() );
}
/**
* Sanitize left or right choices
* @param string
* @return string|bool
*/
function et_sanitize_left_right( $choosen ) {
return et_sanitize_key_based_option( $choosen, et_divi_left_right_choices() );
}
/**
* Sanitize image animation choices
* @param string
* @return string|bool
*/
function et_sanitize_image_animation( $choosen ) {
return et_sanitize_key_based_option( $choosen, et_divi_image_animation_choices() );
}
/**
* Sanitize divider style choices
* @param string
* @return string|bool
*/
function et_sanitize_divider_style( $choosen ) {
return et_sanitize_key_based_option( $choosen, et_divi_divider_style_choices() );
}
/**
* Sanitize divider position choices
* @param string
* @return string|bool
*/
function et_sanitize_divider_position( $choosen ) {
return et_sanitize_key_based_option( $choosen, et_divi_divider_position_choices() );
}
/**
* Sanitize RGBA color
* @param string
* @return string|bool
*/
function et_sanitize_alpha_color( $color ) {
// Trim unneeded whitespace
$color = str_replace( ' ', '', $color );
// If this is hex color, validate and return it
if ( 1 === preg_match( '|^#([A-Fa-f0-9]{3}){1,2}$|', $color ) ) {
return $color;
}
// If this is rgb, validate and return it
elseif ( 'rgb(' === substr( $color, 0, 4 ) ) {
sscanf( $color, 'rgb(%d,%d,%d)', $red, $green, $blue );
if ( ( $red >= 0 && $red <= 255 ) &&
( $green >= 0 && $green <= 255 ) &&
( $blue >= 0 && $blue <= 255 )
) {
return "rgb({$red},{$green},{$blue})";
}
}
// If this is rgba, validate and return it
elseif ( 'rgba(' === substr( $color, 0, 5 ) ) {
sscanf( $color, 'rgba(%d,%d,%d,%f)', $red, $green, $blue, $alpha );
if ( ( $red >= 0 && $red <= 255 ) &&
( $green >= 0 && $green <= 255 ) &&
( $blue >= 0 && $blue <= 255 ) &&
$alpha >= 0 && $alpha <= 1
) {
return "rgba({$red},{$green},{$blue},{$alpha})";
}
}
return false;
}
/**
* Sanitize font icon
* @param string
* @param string
* @return string
*/
function et_sanitize_font_icon( $font_icon, $symbols_function = 'default' ) {
// Convert symbols into strings
$font_icon = trim( $font_icon );
// @phpcs:ignore Generic.PHP.ForbiddenFunctions.Found
$icon_symbols = is_callable( $symbols_function ) ? call_user_func( $symbols_function ) : et_pb_get_font_icon_symbols();
$icon_symbols = array_map( 'et_sanitize_font_icon_convert_icon_to_string', $icon_symbols );
// the exact font icon value is saved
if ( 1 !== preg_match( "/^%%/", $font_icon ) ) {
return in_array( $font_icon, $icon_symbols ) ? $font_icon : '';
}
// the font icon value is saved in the following format: %%index_number%%
// strip the %'s to get to end result: index_number
$icon_index = (int) str_replace( '%', '', $font_icon );
return isset( $icon_symbols[ $icon_index ] ) ? $icon_symbols[ $icon_index ] : '';
}
/**
* Convert font hex-code font icons into strings so it can be compared
* @param string
* @return string
*/
function et_sanitize_font_icon_convert_icon_to_string( $icon ) {
// Replace &amp; with &. Otherwise, it'll incorrectly decoded
$icon = str_replace( '&amp;', '&', $icon );
// Decode
return html_entity_decode( $icon );
}
/**
* Array of allowed html tags on short block
* @return array
*/
function et_allowed_html_tags_short_block() {
$allowed_tags = array(
'div' => array(
'class' => array(),
'id' => array(),
),
'span' => array(
'class' => array(),
'id' => array(),
),
'ol' => array(
'class' => array(),
'id' => array(),
),
'ul' => array(
'class' => array(),
'id' => array(),
),
'li' => array(
'class' => array(),
'id' => array(),
),
'p' => array(
'class' => array(),
'id' => array(),
),
'a' => array(
'href' => array(),
'class' => array(),
'id' => array(),
'rel' => array(),
'title' => array(),
'target' => array(),
),
'br' => array(),
'em' => array(),
'strong' => array(),
);
return apply_filters( 'et_allowed_html_tags_short_block', $allowed_tags );
}
/**
* Sanitize short block html input
* @return string
*/
function et_sanitize_html_input_text( $string ) {
return wp_kses( $string, et_allowed_html_tags_short_block() );
}
/**
* Sanitize background repeat value
* @return string
*/
function et_sanitize_background_repeat( $choosen ) {
return et_sanitize_key_based_option(
$choosen,
et_divi_background_repeat_choices(),
apply_filters( 'et_divi_background_repeat_default', 'repeat' )
);
}
/**
* Sanitize background attachment value
* @return string
*/
function et_sanitize_background_attachment( $choosen ) {
return et_sanitize_key_based_option(
$choosen,
et_divi_background_attachment_choices(),
apply_filters( 'et_sanitize_background_attachment_default', 'scroll' )
);
}

View File

@ -0,0 +1,66 @@
<?php
function et_widgets_init() {
register_sidebar( array(
'name' => esc_html__( 'Sidebar', 'Divi' ),
'id' => 'sidebar-1',
'before_widget' => '<div id="%1$s" class="et_pb_widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h4 class="widgettitle">',
'after_title' => '</h4>',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Area', 'Divi' ) . ' #1',
'id' => 'sidebar-2',
'before_widget' => '<div id="%1$s" class="fwidget et_pb_widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h4 class="title">',
'after_title' => '</h4>',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Area', 'Divi' ) . ' #2',
'id' => 'sidebar-3',
'before_widget' => '<div id="%1$s" class="fwidget et_pb_widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h4 class="title">',
'after_title' => '</h4>',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Area', 'Divi' ) . ' #3',
'id' => 'sidebar-4',
'before_widget' => '<div id="%1$s" class="fwidget et_pb_widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h4 class="title">',
'after_title' => '</h4>',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Area', 'Divi' ) . ' #4',
'id' => 'sidebar-5',
'before_widget' => '<div id="%1$s" class="fwidget et_pb_widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h4 class="title">',
'after_title' => '</h4>',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Area', 'Divi' ) . ' #5',
'id' => 'sidebar-6',
'before_widget' => '<div id="%1$s" class="fwidget et_pb_widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h4 class="title">',
'after_title' => '</h4>',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Area', 'Divi' ) . ' #6',
'id' => 'sidebar-7',
'before_widget' => '<div id="%1$s" class="fwidget et_pb_widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h4 class="title">',
'after_title' => '</h4>',
) );
}
add_action( 'widgets_init', 'et_widgets_init' );

View File

@ -0,0 +1 @@
<a href="http://www.elegantthemes.com/members-area/tutorials/" target="_blank"><?php esc_html_e( 'Watch video tutorials', 'Divi' ); ?></a>