Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-conte.../themes/Divi/includes/builder
File: functions.php
* Prints hidden inputs for passing global modules data to database
[7500] Fix | Delete
*
[7501] Fix | Delete
* @return void
[7502] Fix | Delete
*/
[7503] Fix | Delete
function et_pb_builder_global_library_inputs( $post_id ) {
[7504] Fix | Delete
global $typenow;
[7505] Fix | Delete
[7506] Fix | Delete
if ( 'et_pb_layout' !== $typenow ) {
[7507] Fix | Delete
return;
[7508] Fix | Delete
}
[7509] Fix | Delete
[7510] Fix | Delete
$template_scope = wp_get_object_terms( get_the_ID(), 'scope' );
[7511] Fix | Delete
$template_type = wp_get_object_terms( get_the_ID(), 'layout_type' );
[7512] Fix | Delete
$is_global_template = ! empty( $template_scope[0] ) ? $template_scope[0]->slug : 'regular';
[7513] Fix | Delete
$template_type_slug = ! empty( $template_type[0] ) ? $template_type[0]->slug : '';
[7514] Fix | Delete
[7515] Fix | Delete
if ( 'global' !== $is_global_template || 'module' !== $template_type_slug ) {
[7516] Fix | Delete
return;
[7517] Fix | Delete
}
[7518] Fix | Delete
[7519] Fix | Delete
$excluded_global_options = get_post_meta( $post_id, '_et_pb_excluded_global_options' );
[7520] Fix | Delete
[7521] Fix | Delete
printf(
[7522] Fix | Delete
'<input type="hidden" id="et_pb_unsynced_global_attrs" name="et_pb_unsynced_global_attrs" value="%1$s" />',
[7523] Fix | Delete
isset( $excluded_global_options[0] ) ? esc_attr( $excluded_global_options[0] ) : json_encode( array() )
[7524] Fix | Delete
);
[7525] Fix | Delete
}
[7526] Fix | Delete
[7527] Fix | Delete
/**
[7528] Fix | Delete
* Returns array of default builder settings configuration item
[7529] Fix | Delete
*
[7530] Fix | Delete
* @return array
[7531] Fix | Delete
*/
[7532] Fix | Delete
function et_pb_get_builder_settings_configuration_default() {
[7533] Fix | Delete
return array(
[7534] Fix | Delete
'id' => '',
[7535] Fix | Delete
'type' => '',
[7536] Fix | Delete
'label' => '',
[7537] Fix | Delete
'min' => '',
[7538] Fix | Delete
'max' => '',
[7539] Fix | Delete
'step' => '',
[7540] Fix | Delete
'autoload' => true,
[7541] Fix | Delete
'default' => false,
[7542] Fix | Delete
'affects' => array(),
[7543] Fix | Delete
'depends_show_if' => false,
[7544] Fix | Delete
);
[7545] Fix | Delete
}
[7546] Fix | Delete
[7547] Fix | Delete
function et_builder_update_settings( $settings, $post_id = 'global' ) {
[7548] Fix | Delete
et_core_nonce_verified_previously();
[7549] Fix | Delete
[7550] Fix | Delete
$is_global = 'global' === $post_id;
[7551] Fix | Delete
$is_BB = null === $settings;
[7552] Fix | Delete
$settings = $is_BB ? $_POST : $settings;
[7553] Fix | Delete
$fields = $is_global ? ET_Builder_Settings::get_fields( 'builder' ) : ET_Builder_Settings::get_fields();
[7554] Fix | Delete
$utils = ET_Core_Data_Utils::instance();
[7555] Fix | Delete
$update = array();
[7556] Fix | Delete
[7557] Fix | Delete
foreach ( (array) $settings as $setting_key => $setting_value ) {
[7558] Fix | Delete
$raw_setting_value = $setting_value;
[7559] Fix | Delete
$setting_key = $is_BB ? substr( $setting_key, 1 ) : $setting_key;
[7560] Fix | Delete
[7561] Fix | Delete
// Verify setting key
[7562] Fix | Delete
if ( ! isset( $fields[ $setting_key ] ) || ! isset( $fields[ $setting_key ]['type'] ) ) {
[7563] Fix | Delete
continue;
[7564] Fix | Delete
}
[7565] Fix | Delete
[7566] Fix | Delete
// Auto-formatting subjects' value format
[7567] Fix | Delete
if ( 'et_pb_ab_subjects' === $setting_key && is_array( $setting_value ) ) {
[7568] Fix | Delete
$setting_value = implode(',', $setting_value );
[7569] Fix | Delete
}
[7570] Fix | Delete
[7571] Fix | Delete
// TODO Possibly move sanitization.php to builder dir
[7572] Fix | Delete
// Sanitize value
[7573] Fix | Delete
switch ( $fields[ $setting_key ]['type'] ) {
[7574] Fix | Delete
case 'colorpalette':
[7575] Fix | Delete
$palette_colors = explode('|', $setting_value);
[7576] Fix | Delete
$setting_value = implode('|', array_map('et_sanitize_alpha_color', $palette_colors ) );
[7577] Fix | Delete
break;
[7578] Fix | Delete
[7579] Fix | Delete
case 'range':
[7580] Fix | Delete
// Avoid setting absolute value for range if option is z_index.
[7581] Fix | Delete
if ( 'et_pb_page_z_index' == $setting_key ) {
[7582] Fix | Delete
break;
[7583] Fix | Delete
}
[7584] Fix | Delete
$setting_value = absint( $setting_value );
[7585] Fix | Delete
$range_min = isset( $fields[ $setting_key ]['range_settings'] ) && isset( $fields[ $setting_key ]['range_settings']['min'] ) ?
[7586] Fix | Delete
absint( $fields[ $setting_key ]['range_settings']['min'] ) : -1;
[7587] Fix | Delete
$range_max = isset( $fields[ $setting_key ]['range_settings'] ) && isset( $fields[ $setting_key ]['range_settings']['max'] ) ?
[7588] Fix | Delete
absint( $fields[ $setting_key ]['range_settings']['max'] ) : -1;
[7589] Fix | Delete
[7590] Fix | Delete
if ( $setting_value < $range_min || $range_max < $setting_value ) {
[7591] Fix | Delete
continue 2;
[7592] Fix | Delete
}
[7593] Fix | Delete
[7594] Fix | Delete
break;
[7595] Fix | Delete
[7596] Fix | Delete
case 'color-alpha':
[7597] Fix | Delete
$setting_value = et_sanitize_alpha_color( $setting_value );
[7598] Fix | Delete
break;
[7599] Fix | Delete
[7600] Fix | Delete
case 'codemirror':
[7601] Fix | Delete
case 'textarea':
[7602] Fix | Delete
// Allow HTML content on Excerpt field.
[7603] Fix | Delete
if ( 'et_pb_post_settings_excerpt' === $setting_key ) {
[7604] Fix | Delete
$setting_value = wp_kses_post( $setting_value );
[7605] Fix | Delete
} else {
[7606] Fix | Delete
$setting_value = sanitize_textarea_field( $setting_value );
[7607] Fix | Delete
}
[7608] Fix | Delete
break;
[7609] Fix | Delete
[7610] Fix | Delete
case 'categories':
[7611] Fix | Delete
$setting_value = array_map( 'intval', explode( ',', $setting_value ) );
[7612] Fix | Delete
break;
[7613] Fix | Delete
[7614] Fix | Delete
default:
[7615] Fix | Delete
$setting_value = sanitize_text_field( $setting_value );
[7616] Fix | Delete
break;
[7617] Fix | Delete
}
[7618] Fix | Delete
[7619] Fix | Delete
// check whether or not the defined value === default value
[7620] Fix | Delete
$is_default = isset( $fields[ $setting_key ]['default'] ) && $setting_value === $fields[ $setting_key ]['default'];
[7621] Fix | Delete
[7622] Fix | Delete
// Auto-formatting AB Testing status' meta key
[7623] Fix | Delete
if ( 'et_pb_enable_ab_testing' === $setting_key ) {
[7624] Fix | Delete
$setting_key = 'et_pb_use_ab_testing';
[7625] Fix | Delete
}
[7626] Fix | Delete
[7627] Fix | Delete
/**
[7628] Fix | Delete
* Fires before updating a builder setting in the database.
[7629] Fix | Delete
*
[7630] Fix | Delete
* @param string $setting_key The option name/id.
[7631] Fix | Delete
* @param string $setting_value The new option value.
[7632] Fix | Delete
* @param string|int $post_id The post id or 'global' for global settings.
[7633] Fix | Delete
*/
[7634] Fix | Delete
do_action( 'et_builder_settings_update_option', $setting_key, $setting_value, $post_id );
[7635] Fix | Delete
[7636] Fix | Delete
// If `post_field` is defined, we need to update the post.
[7637] Fix | Delete
$post_field = $utils->array_get( $fields, "{$setting_key}.post_field", false );
[7638] Fix | Delete
if ( false !== $post_field ) {
[7639] Fix | Delete
// Only allowed in VB
[7640] Fix | Delete
if ( ! ( $is_global || $is_BB ) ) {
[7641] Fix | Delete
// Save the post field so we can do a single update.
[7642] Fix | Delete
// Use the raw value and rely on wp_update_post to sanitize it in order to allow certain HTML tags.
[7643] Fix | Delete
$update[ $post_field ] = $raw_setting_value;
[7644] Fix | Delete
}
[7645] Fix | Delete
continue;
[7646] Fix | Delete
}
[7647] Fix | Delete
[7648] Fix | Delete
// If `taxonomy_name` is defined, we need to update the post terms.
[7649] Fix | Delete
$taxonomy_name = $utils->array_get( $fields, "{$setting_key}.taxonomy_name", false );
[7650] Fix | Delete
if ( false !== $taxonomy_name ) {
[7651] Fix | Delete
// Only allowed in VB
[7652] Fix | Delete
if ( ! ( $is_global || $is_BB ) ) {
[7653] Fix | Delete
$post_type = $utils->array_get( $fields, "{$setting_key}.post_type", false );
[7654] Fix | Delete
if ( $post_type === get_post_type( $post_id ) ) {
[7655] Fix | Delete
// Only update if the post type matches.
[7656] Fix | Delete
wp_set_object_terms( $post_id, $setting_value, $taxonomy_name );
[7657] Fix | Delete
}
[7658] Fix | Delete
}
[7659] Fix | Delete
continue;
[7660] Fix | Delete
}
[7661] Fix | Delete
[7662] Fix | Delete
// Save the setting in a post meta.
[7663] Fix | Delete
$meta_key = $utils->array_get( $fields, $setting_key . '.meta_key', false ) ? $fields[ $setting_key ]['meta_key'] : "_{$setting_key}";
[7664] Fix | Delete
$save_post = $utils->array_get( $fields, $setting_key . '.save_post', true );
[7665] Fix | Delete
if ( $is_BB && $save_post === false ) {
[7666] Fix | Delete
// This meta key must be ignored during classic-editor / BB save action or it will
[7667] Fix | Delete
// overwrite values in the WP edit page.
[7668] Fix | Delete
continue;
[7669] Fix | Delete
}
[7670] Fix | Delete
// remove if value is default
[7671] Fix | Delete
if ( $is_default ) {
[7672] Fix | Delete
$is_global ? et_delete_option( $setting_key ) : delete_post_meta( $post_id, $meta_key );
[7673] Fix | Delete
} else {
[7674] Fix | Delete
// Update
[7675] Fix | Delete
$is_global ? et_update_option( $setting_key, $setting_value ) : update_post_meta( $post_id, $meta_key, $setting_value );
[7676] Fix | Delete
}
[7677] Fix | Delete
[7678] Fix | Delete
// Removing autosave
[7679] Fix | Delete
delete_post_meta( $post_id, "{$meta_key}_draft" );
[7680] Fix | Delete
}
[7681] Fix | Delete
[7682] Fix | Delete
// Removing builder settings autosave
[7683] Fix | Delete
$current_user_id = get_current_user_id();
[7684] Fix | Delete
[7685] Fix | Delete
delete_post_meta( $post_id, "_et_builder_settings_autosave_{$current_user_id}");
[7686] Fix | Delete
[7687] Fix | Delete
if ( count( $update ) > 0 ) {
[7688] Fix | Delete
// This MUST NOT be executed while saving data in the BB or it will generate
[7689] Fix | Delete
// an update loop that will end the universe as we know it.
[7690] Fix | Delete
if ( ! ( $is_BB || wp_is_post_revision( $post_id ) ) ) {
[7691] Fix | Delete
$update['ID'] = $post_id;
[7692] Fix | Delete
wp_update_post( $update );
[7693] Fix | Delete
}
[7694] Fix | Delete
}
[7695] Fix | Delete
}
[7696] Fix | Delete
[7697] Fix | Delete
/**
[7698] Fix | Delete
* Returns array of default color pallete
[7699] Fix | Delete
*
[7700] Fix | Delete
* @return array default color palette
[7701] Fix | Delete
*/
[7702] Fix | Delete
function et_pb_get_default_color_palette( $post_id = 0 ) {
[7703] Fix | Delete
$default_palette = array(
[7704] Fix | Delete
'#000000',
[7705] Fix | Delete
'#FFFFFF',
[7706] Fix | Delete
'#E02B20',
[7707] Fix | Delete
'#E09900',
[7708] Fix | Delete
'#EDF000',
[7709] Fix | Delete
'#7CDA24',
[7710] Fix | Delete
'#0C71C3',
[7711] Fix | Delete
'#8300E9',
[7712] Fix | Delete
);
[7713] Fix | Delete
[7714] Fix | Delete
$saved_global_palette = et_get_option( 'divi_color_palette', false );
[7715] Fix | Delete
[7716] Fix | Delete
$palette = $saved_global_palette && '' !== str_replace( '|', '', $saved_global_palette ) ? explode( '|', $saved_global_palette ) : $default_palette;
[7717] Fix | Delete
[7718] Fix | Delete
return apply_filters( 'et_pb_get_default_color_palette', $palette, $post_id );
[7719] Fix | Delete
}
[7720] Fix | Delete
[7721] Fix | Delete
/**
[7722] Fix | Delete
* Modify builder editor's TinyMCE configuration
[7723] Fix | Delete
*
[7724] Fix | Delete
* @return array
[7725] Fix | Delete
*/
[7726] Fix | Delete
function et_pb_content_mce_config( $mceInit, $editor_id ) {
[7727] Fix | Delete
if ( 'et_pb_content' === $editor_id && isset( $mceInit['toolbar1'] ) ) {
[7728] Fix | Delete
// Get toolbar as array
[7729] Fix | Delete
$toolbar1 = explode(',', $mceInit['toolbar1'] );
[7730] Fix | Delete
[7731] Fix | Delete
// Look for read more (wp_more)'s array' key
[7732] Fix | Delete
$wp_more_key = array_search( 'wp_more', $toolbar1 );
[7733] Fix | Delete
[7734] Fix | Delete
if ( $wp_more_key ) {
[7735] Fix | Delete
unset( $toolbar1[ $wp_more_key ] );
[7736] Fix | Delete
}
[7737] Fix | Delete
[7738] Fix | Delete
// Update toolbar1 configuration
[7739] Fix | Delete
$mceInit['toolbar1'] = implode(',', $toolbar1 );
[7740] Fix | Delete
}
[7741] Fix | Delete
[7742] Fix | Delete
return $mceInit;
[7743] Fix | Delete
}
[7744] Fix | Delete
add_filter( 'tiny_mce_before_init', 'et_pb_content_mce_config', 10, 2 );
[7745] Fix | Delete
[7746] Fix | Delete
/**
[7747] Fix | Delete
* Get post format with filterable output
[7748] Fix | Delete
*
[7749] Fix | Delete
* @todo once WordPress provide filter for get_post_format() output, this function can be retired
[7750] Fix | Delete
* @see get_post_format()
[7751] Fix | Delete
*
[7752] Fix | Delete
* @return mixed string|bool string of post format or false for default
[7753] Fix | Delete
*/
[7754] Fix | Delete
function et_pb_post_format() {
[7755] Fix | Delete
return apply_filters( 'et_pb_post_format', get_post_format(), get_the_ID() );
[7756] Fix | Delete
}
[7757] Fix | Delete
[7758] Fix | Delete
/**
[7759] Fix | Delete
* Return post format into false when using pagebuilder
[7760] Fix | Delete
*
[7761] Fix | Delete
* @return mixed string|bool string of post format or false for default
[7762] Fix | Delete
*/
[7763] Fix | Delete
function et_pb_post_format_in_pagebuilder( $post_format, $post_id ) {
[7764] Fix | Delete
[7765] Fix | Delete
if ( et_pb_is_pagebuilder_used( $post_id ) ) {
[7766] Fix | Delete
return false;
[7767] Fix | Delete
}
[7768] Fix | Delete
[7769] Fix | Delete
return $post_format;
[7770] Fix | Delete
}
[7771] Fix | Delete
add_filter( 'et_pb_post_format', 'et_pb_post_format_in_pagebuilder', 10, 2 );
[7772] Fix | Delete
[7773] Fix | Delete
if ( ! function_exists( 'et_get_first_audio_block' ) ) :
[7774] Fix | Delete
function et_get_first_audio_block() {
[7775] Fix | Delete
$content = get_the_content();
[7776] Fix | Delete
[7777] Fix | Delete
// It is assumed that audio module figures will not contain other figures.
[7778] Fix | Delete
preg_match( '/<figure\s+[^>]*?class=([\'"])[^\'"]*?wp-block-audio[^\'"]*?\1[^>]*?>.*?<\/figure>/', $content, $matches );
[7779] Fix | Delete
[7780] Fix | Delete
if ( empty( $matches ) ) {
[7781] Fix | Delete
return '';
[7782] Fix | Delete
}
[7783] Fix | Delete
[7784] Fix | Delete
return $matches[0];
[7785] Fix | Delete
}
[7786] Fix | Delete
endif;
[7787] Fix | Delete
[7788] Fix | Delete
if ( ! function_exists( 'et_pb_get_audio_player' ) ) :
[7789] Fix | Delete
function et_pb_get_audio_player() {
[7790] Fix | Delete
global $_et_pbgap_audio_to_remove;
[7791] Fix | Delete
$shortcode_audio = '';
[7792] Fix | Delete
[7793] Fix | Delete
$regex = get_shortcode_regex( array( 'audio' ) );
[7794] Fix | Delete
preg_match_all( "/{$regex}/s", get_the_content(), $matches );
[7795] Fix | Delete
[7796] Fix | Delete
foreach ( $matches[2] as $key => $shortcode_match ) {
[7797] Fix | Delete
// Remove audio shortcode if its contains first attached audio file URL
[7798] Fix | Delete
// first attached audio file is automatically appended on post's format content
[7799] Fix | Delete
if ( 'audio' === $shortcode_match ) {
[7800] Fix | Delete
$_et_pbgap_audio_to_remove = $matches[0][0];
[7801] Fix | Delete
$shortcode_audio = do_shortcode( $_et_pbgap_audio_to_remove );
[7802] Fix | Delete
break;
[7803] Fix | Delete
}
[7804] Fix | Delete
}
[7805] Fix | Delete
[7806] Fix | Delete
if ( '' === $shortcode_audio ) {
[7807] Fix | Delete
$_et_pbgap_audio_to_remove = et_get_first_audio_block();
[7808] Fix | Delete
$shortcode_audio = $_et_pbgap_audio_to_remove;
[7809] Fix | Delete
}
[7810] Fix | Delete
[7811] Fix | Delete
if ( '' === $shortcode_audio ) {
[7812] Fix | Delete
return false;
[7813] Fix | Delete
}
[7814] Fix | Delete
[7815] Fix | Delete
$output = sprintf(
[7816] Fix | Delete
'<div class="et_audio_container">
[7817] Fix | Delete
%1$s
[7818] Fix | Delete
</div> <!-- .et_audio_container -->',
[7819] Fix | Delete
$shortcode_audio
[7820] Fix | Delete
);
[7821] Fix | Delete
[7822] Fix | Delete
add_filter( 'the_content', 'et_delete_post_audio' );
[7823] Fix | Delete
[7824] Fix | Delete
return $output;
[7825] Fix | Delete
}
[7826] Fix | Delete
endif;
[7827] Fix | Delete
[7828] Fix | Delete
/*
[7829] Fix | Delete
* Displays post audio, quote and link post formats content
[7830] Fix | Delete
*/
[7831] Fix | Delete
if ( ! function_exists( 'et_divi_post_format_content' ) ) :
[7832] Fix | Delete
function et_divi_post_format_content() {
[7833] Fix | Delete
$post_format = et_pb_post_format();
[7834] Fix | Delete
[7835] Fix | Delete
$text_color_class = et_divi_get_post_text_color();
[7836] Fix | Delete
[7837] Fix | Delete
$inline_style = et_divi_get_post_bg_inline_style();
[7838] Fix | Delete
[7839] Fix | Delete
global $post;
[7840] Fix | Delete
[7841] Fix | Delete
if ( post_password_required( $post ) ) {
[7842] Fix | Delete
return;
[7843] Fix | Delete
}
[7844] Fix | Delete
[7845] Fix | Delete
switch ( $post_format ) {
[7846] Fix | Delete
case 'audio' :
[7847] Fix | Delete
printf(
[7848] Fix | Delete
'<div class="et_audio_content%4$s"%5$s>
[7849] Fix | Delete
<h2><a href="%3$s">%1$s</a></h2>
[7850] Fix | Delete
%2$s
[7851] Fix | Delete
</div> <!-- .et_audio_content -->',
[7852] Fix | Delete
esc_html( get_the_title() ),
[7853] Fix | Delete
et_core_intentionally_unescaped( et_pb_get_audio_player(), 'html' ),
[7854] Fix | Delete
esc_url( get_permalink() ),
[7855] Fix | Delete
esc_attr( $text_color_class ),
[7856] Fix | Delete
et_core_esc_previously( $inline_style )
[7857] Fix | Delete
);
[7858] Fix | Delete
[7859] Fix | Delete
break;
[7860] Fix | Delete
case 'quote' :
[7861] Fix | Delete
printf(
[7862] Fix | Delete
'<div class="et_quote_content%4$s"%5$s>
[7863] Fix | Delete
%1$s
[7864] Fix | Delete
<a href="%2$s" class="et_quote_main_link">%3$s</a>
[7865] Fix | Delete
</div> <!-- .et_quote_content -->',
[7866] Fix | Delete
et_core_intentionally_unescaped( et_get_blockquote_in_content(), 'html' ),
[7867] Fix | Delete
esc_url( get_permalink() ),
[7868] Fix | Delete
esc_html__( 'Read more', 'et_builder' ),
[7869] Fix | Delete
esc_attr( $text_color_class ),
[7870] Fix | Delete
et_core_esc_previously( $inline_style )
[7871] Fix | Delete
);
[7872] Fix | Delete
[7873] Fix | Delete
break;
[7874] Fix | Delete
case 'link' :
[7875] Fix | Delete
printf(
[7876] Fix | Delete
'<div class="et_link_content%5$s"%6$s>
[7877] Fix | Delete
<h2><a href="%2$s">%1$s</a></h2>
[7878] Fix | Delete
<a href="%3$s" class="et_link_main_url">%4$s</a>
[7879] Fix | Delete
</div> <!-- .et_link_content -->',
[7880] Fix | Delete
esc_html( get_the_title() ),
[7881] Fix | Delete
esc_url( get_permalink() ),
[7882] Fix | Delete
esc_url( et_get_link_url() ),
[7883] Fix | Delete
esc_html( et_get_link_url() ),
[7884] Fix | Delete
esc_attr( $text_color_class ),
[7885] Fix | Delete
et_core_esc_previously( $inline_style )
[7886] Fix | Delete
);
[7887] Fix | Delete
[7888] Fix | Delete
break;
[7889] Fix | Delete
}
[7890] Fix | Delete
}
[7891] Fix | Delete
endif;
[7892] Fix | Delete
[7893] Fix | Delete
/**
[7894] Fix | Delete
* Extract and return the first blockquote from content.
[7895] Fix | Delete
*/
[7896] Fix | Delete
if ( ! function_exists( 'et_get_blockquote_in_content' ) ) :
[7897] Fix | Delete
function et_get_blockquote_in_content() {
[7898] Fix | Delete
global $more;
[7899] Fix | Delete
$more_default = $more;
[7900] Fix | Delete
$more = 1; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.OverrideProhibited
[7901] Fix | Delete
[7902] Fix | Delete
remove_filter( 'the_content', 'et_remove_blockquote_from_content' );
[7903] Fix | Delete
[7904] Fix | Delete
$content = apply_filters( 'the_content', get_the_content() );
[7905] Fix | Delete
[7906] Fix | Delete
add_filter( 'the_content', 'et_remove_blockquote_from_content' );
[7907] Fix | Delete
[7908] Fix | Delete
$more = $more_default; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.OverrideProhibited
[7909] Fix | Delete
[7910] Fix | Delete
if ( preg_match( '/<blockquote(.+?)<\/blockquote>/is', $content, $matches ) ) {
[7911] Fix | Delete
return $matches[0];
[7912] Fix | Delete
} else {
[7913] Fix | Delete
return false;
[7914] Fix | Delete
}
[7915] Fix | Delete
}
[7916] Fix | Delete
endif;
[7917] Fix | Delete
[7918] Fix | Delete
if ( ! function_exists( 'et_get_link_url' ) ) :
[7919] Fix | Delete
function et_get_link_url() {
[7920] Fix | Delete
if ( '' !== ( $link_url = get_post_meta( get_the_ID(), '_format_link_url', true ) ) ) {
[7921] Fix | Delete
return $link_url;
[7922] Fix | Delete
}
[7923] Fix | Delete
[7924] Fix | Delete
$content = get_the_content();
[7925] Fix | Delete
$has_url = get_url_in_content( $content );
[7926] Fix | Delete
[7927] Fix | Delete
return ( $has_url ) ? $has_url : apply_filters( 'the_permalink', get_permalink() );
[7928] Fix | Delete
}
[7929] Fix | Delete
endif;
[7930] Fix | Delete
[7931] Fix | Delete
if ( ! function_exists( 'et_get_first_video' ) ) :
[7932] Fix | Delete
function et_get_first_video() {
[7933] Fix | Delete
$first_url = '';
[7934] Fix | Delete
$first_video = '';
[7935] Fix | Delete
$video_width = (int) apply_filters( 'et_blog_video_width', 1080 );
[7936] Fix | Delete
$video_height = (int) apply_filters( 'et_blog_video_height', 630 );
[7937] Fix | Delete
[7938] Fix | Delete
$i = 0;
[7939] Fix | Delete
$content = get_the_content();
[7940] Fix | Delete
[7941] Fix | Delete
preg_match_all( '|^\s*https?://[^\s"]+\s*$|im', $content, $urls );
[7942] Fix | Delete
[7943] Fix | Delete
foreach ( $urls[0] as $url ) {
[7944] Fix | Delete
$i++;
[7945] Fix | Delete
[7946] Fix | Delete
if ( 1 === $i ) {
[7947] Fix | Delete
$first_url = trim( $url );
[7948] Fix | Delete
}
[7949] Fix | Delete
[7950] Fix | Delete
$oembed = wp_oembed_get( esc_url( $url ) );
[7951] Fix | Delete
[7952] Fix | Delete
if ( !$oembed ) {
[7953] Fix | Delete
continue;
[7954] Fix | Delete
}
[7955] Fix | Delete
[7956] Fix | Delete
$first_video = $oembed;
[7957] Fix | Delete
$first_video = preg_replace( '/<embed /', '<embed wmode="transparent" ', $first_video );
[7958] Fix | Delete
$first_video = preg_replace( '/<\/object>/','<param name="wmode" value="transparent" /></object>', $first_video );
[7959] Fix | Delete
[7960] Fix | Delete
// If the url comes from a GB embed block
[7961] Fix | Delete
if ( preg_match( '|wp-block-embed.+?'.preg_quote($url).'|s', $content ) ) {
[7962] Fix | Delete
// We need to remove some useless markup later
[7963] Fix | Delete
add_filter( 'the_content', 'et_delete_post_video' );
[7964] Fix | Delete
}
[7965] Fix | Delete
break;
[7966] Fix | Delete
}
[7967] Fix | Delete
[7968] Fix | Delete
if ( '' === $first_video ) {
[7969] Fix | Delete
// Gutenberg compatibility.
[7970] Fix | Delete
if ( ! has_shortcode( $content, 'video' ) && empty( $first_url ) ) {
[7971] Fix | Delete
preg_match( '/<!-- wp:video[^\]]+?class="wp-block-video"><video[^\]]+?src="([^\]]+?)"[^\]]+?<!-- \/wp:video -->/', $content, $gb_video );
[7972] Fix | Delete
$first_url = isset($gb_video[1]) ? $gb_video[1] : false;
[7973] Fix | Delete
}
[7974] Fix | Delete
[7975] Fix | Delete
if ( ! has_shortcode( $content, 'video' ) && ! empty( $first_url ) ) {
[7976] Fix | Delete
$video_shortcode = sprintf( '[video src="%1$s" /]', esc_attr( $first_url ) );
[7977] Fix | Delete
[7978] Fix | Delete
if ( ! empty( $gb_video ) ) {
[7979] Fix | Delete
$content = str_replace( $gb_video[0], $video_shortcode, $content );
[7980] Fix | Delete
} else {
[7981] Fix | Delete
$content = str_replace( $first_url, $video_shortcode, $content );
[7982] Fix | Delete
}
[7983] Fix | Delete
}
[7984] Fix | Delete
[7985] Fix | Delete
if ( has_shortcode( $content, 'video' ) ) {
[7986] Fix | Delete
$regex = get_shortcode_regex();
[7987] Fix | Delete
preg_match( "/{$regex}/s", $content, $match );
[7988] Fix | Delete
[7989] Fix | Delete
$first_video = preg_replace( "/width=\"[0-9]*\"/", "width=\"{$video_width}\"", $match[0] );
[7990] Fix | Delete
$first_video = preg_replace( "/height=\"[0-9]*\"/", "height=\"{$video_height}\"", $first_video );
[7991] Fix | Delete
[7992] Fix | Delete
add_filter( 'the_content', 'et_delete_post_video' );
[7993] Fix | Delete
[7994] Fix | Delete
$first_video = do_shortcode( et_pb_fix_shortcodes( $first_video ) );
[7995] Fix | Delete
}
[7996] Fix | Delete
}
[7997] Fix | Delete
[7998] Fix | Delete
return ( '' !== $first_video ) ? $first_video : false;
[7999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function