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/epanel
File: custom_functions.php
[1500] Fix | Delete
if ( $is_jpeg ) $thumb = preg_replace( '#.jpeg$#', '.jpg', $thumb );
[1501] Fix | Delete
[1502] Fix | Delete
$site_dir = str_replace( '\\', '/', $site_dir );
[1503] Fix | Delete
$result = str_replace( '\\', '/', $result );
[1504] Fix | Delete
$result = str_replace( '//', '/', $result );
[1505] Fix | Delete
$result = str_replace( $site_dir, trailingslashit( $site_uri ), $result );
[1506] Fix | Delete
}
[1507] Fix | Delete
[1508] Fix | Delete
#returns resized image path or WP_Error ( if something went wrong during resizing )
[1509] Fix | Delete
return $result;
[1510] Fix | Delete
}
[1511] Fix | Delete
[1512] Fix | Delete
#returns unmodified image, for example in case if the user is trying to resize 800x600px to 1920x1080px image
[1513] Fix | Delete
return $thumb;
[1514] Fix | Delete
}
[1515] Fix | Delete
[1516] Fix | Delete
}
[1517] Fix | Delete
[1518] Fix | Delete
add_action( 'pre_get_posts', 'et_custom_posts_per_page' );
[1519] Fix | Delete
[1520] Fix | Delete
function et_custom_posts_per_page( $query = false ) {
[1521] Fix | Delete
global $shortname;
[1522] Fix | Delete
// phpcs:disable WordPress.Security.NonceVerification.NoNonceVerification
[1523] Fix | Delete
if ( is_admin() ) {
[1524] Fix | Delete
return;
[1525] Fix | Delete
}
[1526] Fix | Delete
[1527] Fix | Delete
if ( ! is_a( $query, 'WP_Query' ) || ( ! $query->is_main_query() || ! empty( $query->et_pb_shop_query ) ) ) {
[1528] Fix | Delete
return;
[1529] Fix | Delete
}
[1530] Fix | Delete
[1531] Fix | Delete
if ( $query->is_category ) {
[1532] Fix | Delete
$query->set( 'posts_per_page', (int) et_get_option( $shortname . '_catnum_posts', '5' ) );
[1533] Fix | Delete
} elseif ( $query->is_tag ) {
[1534] Fix | Delete
$query->set( 'posts_per_page', (int) et_get_option( $shortname . '_tagnum_posts', '5' ) );
[1535] Fix | Delete
} elseif ( $query->is_search ) {
[1536] Fix | Delete
if ( isset( $_GET['et_searchform_submit'] ) ) {
[1537] Fix | Delete
$postTypes = array();
[1538] Fix | Delete
if ( !isset( $_GET['et-inc-posts'] ) && !isset( $_GET['et-inc-pages'] ) ) $postTypes = array('post');
[1539] Fix | Delete
if ( isset( $_GET['et-inc-pages'] ) ) $postTypes = array('page');
[1540] Fix | Delete
if ( isset( $_GET['et-inc-posts'] ) ) $postTypes[] = 'post';
[1541] Fix | Delete
$query->set( 'post_type', $postTypes );
[1542] Fix | Delete
[1543] Fix | Delete
if ( isset( $_GET['et-month-choice'] ) && $_GET['et-month-choice'] !== 'no-choice' ) {
[1544] Fix | Delete
$et_year = substr( $_GET['et-month-choice'], 0, 4 );
[1545] Fix | Delete
$et_month = substr( $_GET['et-month-choice'], 4, strlen( $_GET['et-month-choice'] ) - 4 );
[1546] Fix | Delete
[1547] Fix | Delete
$query->set( 'year', absint( $et_year ) );
[1548] Fix | Delete
$query->set( 'monthnum', absint( $et_month ) );
[1549] Fix | Delete
}
[1550] Fix | Delete
[1551] Fix | Delete
if ( isset( $_GET['et-cat'] ) && $_GET['et-cat'] !== '0' )
[1552] Fix | Delete
$query->set( 'cat', absint( $_GET['et-cat'] ) );
[1553] Fix | Delete
}
[1554] Fix | Delete
$query->set( 'posts_per_page', (int) et_get_option( $shortname . '_searchnum_posts', '5' ) );
[1555] Fix | Delete
} elseif ( $query->is_archive ) {
[1556] Fix | Delete
[1557] Fix | Delete
if ( function_exists( 'is_woocommerce' ) && is_woocommerce() ) {
[1558] Fix | Delete
// Plugin Compatibility :: Skip query->set if "loop_shop_per_page" filter is being used by 3rd party plugins
[1559] Fix | Delete
if ( ! has_filter( 'loop_shop_per_page' ) ) {
[1560] Fix | Delete
$posts_number = (int) et_get_option( $shortname . '_woocommerce_archive_num_posts', '9' );
[1561] Fix | Delete
$query->set( 'posts_per_page', $posts_number );
[1562] Fix | Delete
}
[1563] Fix | Delete
} else {
[1564] Fix | Delete
$posts_number = (int) et_get_option( $shortname . '_archivenum_posts', '5' );
[1565] Fix | Delete
$query->set( 'posts_per_page', $posts_number );
[1566] Fix | Delete
}
[1567] Fix | Delete
[1568] Fix | Delete
}
[1569] Fix | Delete
// phpcs:enable
[1570] Fix | Delete
}
[1571] Fix | Delete
[1572] Fix | Delete
add_filter( 'default_hidden_meta_boxes', 'et_show_hidden_metaboxes', 10, 2 );
[1573] Fix | Delete
[1574] Fix | Delete
function et_show_hidden_metaboxes( $hidden, $screen ){
[1575] Fix | Delete
# make custom fields and excerpt meta boxes show by default
[1576] Fix | Delete
if ( 'post' === $screen->base || 'page' === $screen->base )
[1577] Fix | Delete
$hidden = array(
[1578] Fix | Delete
'slugdiv',
[1579] Fix | Delete
'trackbacksdiv',
[1580] Fix | Delete
'commentstatusdiv',
[1581] Fix | Delete
'commentsdiv',
[1582] Fix | Delete
'authordiv',
[1583] Fix | Delete
'revisionsdiv',
[1584] Fix | Delete
);
[1585] Fix | Delete
[1586] Fix | Delete
return $hidden;
[1587] Fix | Delete
}
[1588] Fix | Delete
[1589] Fix | Delete
add_filter( 'widget_title', 'et_widget_force_title' );
[1590] Fix | Delete
[1591] Fix | Delete
function et_widget_force_title( $title ){
[1592] Fix | Delete
#add an empty title for widgets ( otherwise it might break the sidebar layout )
[1593] Fix | Delete
if ( empty( $title ) ) $title = ' ';
[1594] Fix | Delete
[1595] Fix | Delete
return $title;
[1596] Fix | Delete
}
[1597] Fix | Delete
[1598] Fix | Delete
//modify the comment counts to only reflect the number of comments minus pings
[1599] Fix | Delete
if( version_compare( phpversion(), '4.4', '>=' ) ) add_filter( 'get_comments_number', 'et_comment_count', 0, 2 );
[1600] Fix | Delete
[1601] Fix | Delete
function et_comment_count( $count, $post_id ) {
[1602] Fix | Delete
$is_doing_ajax = defined( 'DOING_AJAX' ) && DOING_AJAX ? true : false;
[1603] Fix | Delete
[1604] Fix | Delete
if ( ! is_admin() || $is_doing_ajax ) {
[1605] Fix | Delete
global $id;
[1606] Fix | Delete
$post_id = $post_id ? $post_id : $id;
[1607] Fix | Delete
$get_comments = get_comments( array('post_id' => $post_id, 'status' => 'approve') );
[1608] Fix | Delete
$comments_by_type = separate_comments( $get_comments );
[1609] Fix | Delete
return count( $comments_by_type['comment'] );
[1610] Fix | Delete
} else {
[1611] Fix | Delete
return $count;
[1612] Fix | Delete
}
[1613] Fix | Delete
}
[1614] Fix | Delete
[1615] Fix | Delete
add_action( 'admin_init', 'et_theme_check_clean_installation' );
[1616] Fix | Delete
[1617] Fix | Delete
function et_theme_check_clean_installation(){
[1618] Fix | Delete
add_action( 'admin_notices', 'et_theme_epanel_reminder' );
[1619] Fix | Delete
}
[1620] Fix | Delete
[1621] Fix | Delete
if ( ! function_exists( 'et_theme_epanel_reminder' ) ) {
[1622] Fix | Delete
[1623] Fix | Delete
function et_theme_epanel_reminder(){
[1624] Fix | Delete
global $shortname, $themename, $current_screen;
[1625] Fix | Delete
[1626] Fix | Delete
if ( false === et_get_option( $shortname . '_logo' ) && 'appearance_page_core_functions' !== $current_screen->id ) {
[1627] Fix | Delete
printf( et_get_safe_localization( __( '<div class="updated"><p>This is a fresh installation of %1$s theme. Don\'t forget to go to <a href="%2$s">ePanel</a> to set it up. This message will disappear once you have clicked the Save button within the <a href="%2$s">theme\'s options page</a>.</p></div>', $themename ) ), esc_html( wp_get_theme() ), esc_url( admin_url( 'themes.php?page=core_functions.php' ) ) );
[1628] Fix | Delete
}
[1629] Fix | Delete
}
[1630] Fix | Delete
[1631] Fix | Delete
}
[1632] Fix | Delete
[1633] Fix | Delete
add_filter( 'body_class', 'et_add_fullwidth_body_class' );
[1634] Fix | Delete
[1635] Fix | Delete
function et_add_fullwidth_body_class( $classes ){
[1636] Fix | Delete
$fullwidth_view = false;
[1637] Fix | Delete
[1638] Fix | Delete
if ( is_page_template( 'page-full.php' ) ) $fullwidth_view = true;
[1639] Fix | Delete
[1640] Fix | Delete
if ( is_page() || is_single() ) {
[1641] Fix | Delete
$et_ptemplate_settings = get_post_meta( get_queried_object_id(), 'et_ptemplate_settings', true );
[1642] Fix | Delete
$fullwidth = isset( $et_ptemplate_settings['et_fullwidthpage'] ) ? (bool) $et_ptemplate_settings['et_fullwidthpage'] : false;
[1643] Fix | Delete
[1644] Fix | Delete
if ( $fullwidth ) $fullwidth_view = true;
[1645] Fix | Delete
}
[1646] Fix | Delete
[1647] Fix | Delete
if ( is_single() && 'on' === get_post_meta( get_queried_object_id(), '_et_full_post', true ) ) $fullwidth_view = true;
[1648] Fix | Delete
[1649] Fix | Delete
$classes[] = apply_filters( 'et_fullwidth_view_body_class', $fullwidth_view ) ? 'et_fullwidth_view' : 'et_includes_sidebar';
[1650] Fix | Delete
[1651] Fix | Delete
return $classes;
[1652] Fix | Delete
}
[1653] Fix | Delete
[1654] Fix | Delete
function et_add_responsive_shortcodes_css() {
[1655] Fix | Delete
global $shortname;
[1656] Fix | Delete
[1657] Fix | Delete
if ( 'on' === et_get_option( $shortname . '_responsive_shortcodes', 'on' ) )
[1658] Fix | Delete
wp_enqueue_style( 'et-shortcodes-responsive-css', ET_SHORTCODES_DIR . '/css/shortcodes_responsive.css', false, ET_SHORTCODES_VERSION, 'all' );
[1659] Fix | Delete
}
[1660] Fix | Delete
[1661] Fix | Delete
/**
[1662] Fix | Delete
* Loads theme settings
[1663] Fix | Delete
*
[1664] Fix | Delete
*/
[1665] Fix | Delete
if ( ! function_exists( 'et_load_core_options' ) ) {
[1666] Fix | Delete
[1667] Fix | Delete
function et_load_core_options() {
[1668] Fix | Delete
global $shortname;
[1669] Fix | Delete
require_once get_template_directory() . esc_attr( "/options_{$shortname}.php" );
[1670] Fix | Delete
}
[1671] Fix | Delete
[1672] Fix | Delete
}
[1673] Fix | Delete
[1674] Fix | Delete
/**
[1675] Fix | Delete
* Adds custom css option content to <head>
[1676] Fix | Delete
*
[1677] Fix | Delete
*/
[1678] Fix | Delete
function et_add_custom_css() {
[1679] Fix | Delete
// use default wp custom css system starting from WP 4.7
[1680] Fix | Delete
// fallback to our legacy custom css system otherwise
[1681] Fix | Delete
if ( function_exists( 'wp_get_custom_css_post' ) ) {
[1682] Fix | Delete
return;
[1683] Fix | Delete
}
[1684] Fix | Delete
[1685] Fix | Delete
global $shortname;
[1686] Fix | Delete
[1687] Fix | Delete
$custom_css = et_get_option( "{$shortname}_custom_css" );
[1688] Fix | Delete
[1689] Fix | Delete
if ( empty( $custom_css ) ) return;
[1690] Fix | Delete
[1691] Fix | Delete
/**
[1692] Fix | Delete
* The theme doesn't strip slashes from custom css, when saving to the database,
[1693] Fix | Delete
* so it does that before outputting the code on front-end
[1694] Fix | Delete
*/
[1695] Fix | Delete
echo '<style type="text/css" id="et-custom-css">' . "\n" . et_core_intentionally_unescaped( stripslashes( $custom_css ), 'html' ) . "\n" . '</style>';
[1696] Fix | Delete
}
[1697] Fix | Delete
[1698] Fix | Delete
add_action( 'wp_head', 'et_add_custom_css', 100 );
[1699] Fix | Delete
[1700] Fix | Delete
if ( ! function_exists( 'et_get_google_fonts' ) ) :
[1701] Fix | Delete
[1702] Fix | Delete
/**
[1703] Fix | Delete
* Returns the list of popular google fonts
[1704] Fix | Delete
* Fallback to websafe fonts if disabled
[1705] Fix | Delete
*/
[1706] Fix | Delete
[1707] Fix | Delete
function et_get_google_fonts() {
[1708] Fix | Delete
$websafe_fonts = et_core_get_websafe_fonts();
[1709] Fix | Delete
$google_fonts = et_core_use_google_fonts() ? et_core_get_saved_google_fonts() : $websafe_fonts;
[1710] Fix | Delete
[1711] Fix | Delete
return apply_filters( 'et_google_fonts', $google_fonts );
[1712] Fix | Delete
}
[1713] Fix | Delete
[1714] Fix | Delete
endif;
[1715] Fix | Delete
[1716] Fix | Delete
if ( ! function_exists( 'et_get_websafe_font_stack' ) ) :
[1717] Fix | Delete
[1718] Fix | Delete
/**
[1719] Fix | Delete
* Determines a websafe font stack, using font type
[1720] Fix | Delete
*
[1721] Fix | Delete
*/
[1722] Fix | Delete
function et_get_websafe_font_stack( $type = 'sans-serif' ) {
[1723] Fix | Delete
$font_stack = '';
[1724] Fix | Delete
[1725] Fix | Delete
switch ( $type ) {
[1726] Fix | Delete
case 'sans-serif':
[1727] Fix | Delete
$font_stack = 'Helvetica, Arial, Lucida, sans-serif';
[1728] Fix | Delete
break;
[1729] Fix | Delete
case 'serif':
[1730] Fix | Delete
$font_stack = 'Georgia, "Times New Roman", serif';
[1731] Fix | Delete
break;
[1732] Fix | Delete
case 'cursive':
[1733] Fix | Delete
$font_stack = 'cursive';
[1734] Fix | Delete
break;
[1735] Fix | Delete
}
[1736] Fix | Delete
[1737] Fix | Delete
return $font_stack;
[1738] Fix | Delete
}
[1739] Fix | Delete
[1740] Fix | Delete
endif;
[1741] Fix | Delete
[1742] Fix | Delete
if ( ! function_exists( 'et_gf_attach_font' ) ) :
[1743] Fix | Delete
[1744] Fix | Delete
/**
[1745] Fix | Delete
* Attaches Google Font to given css elements
[1746] Fix | Delete
*
[1747] Fix | Delete
*/
[1748] Fix | Delete
function et_gf_attach_font( $et_gf_font_name, $elements ) {
[1749] Fix | Delete
$google_fonts = et_get_google_fonts();
[1750] Fix | Delete
[1751] Fix | Delete
printf( '%s { font-family: \'%s\', %s; }',
[1752] Fix | Delete
esc_html( $elements ),
[1753] Fix | Delete
esc_html( $et_gf_font_name ),
[1754] Fix | Delete
et_core_esc_previously( et_get_websafe_font_stack( $google_fonts[$et_gf_font_name]['type'] ) )
[1755] Fix | Delete
);
[1756] Fix | Delete
}
[1757] Fix | Delete
[1758] Fix | Delete
endif;
[1759] Fix | Delete
[1760] Fix | Delete
if ( ! function_exists( 'et_gf_enqueue_fonts' ) ) :
[1761] Fix | Delete
[1762] Fix | Delete
/**
[1763] Fix | Delete
* Enqueues Google Fonts
[1764] Fix | Delete
*
[1765] Fix | Delete
*/
[1766] Fix | Delete
function et_gf_enqueue_fonts( $et_gf_font_names ) {
[1767] Fix | Delete
global $shortname;
[1768] Fix | Delete
[1769] Fix | Delete
if ( ! is_array( $et_gf_font_names ) || empty( $et_gf_font_names ) || ! et_core_use_google_fonts() ) {
[1770] Fix | Delete
return;
[1771] Fix | Delete
}
[1772] Fix | Delete
[1773] Fix | Delete
$google_fonts = et_get_google_fonts();
[1774] Fix | Delete
$protocol = is_ssl() ? 'https' : 'http';
[1775] Fix | Delete
[1776] Fix | Delete
foreach ( $et_gf_font_names as $et_gf_font_name ) {
[1777] Fix | Delete
$google_font_character_set = $google_fonts[$et_gf_font_name]['character_set'];
[1778] Fix | Delete
[1779] Fix | Delete
// By default, only latin and latin-ext subsets are loaded, all available subsets can be enabled in ePanel
[1780] Fix | Delete
if ( 'false' === et_get_option( "{$shortname}_gf_enable_all_character_sets", 'false' ) ) {
[1781] Fix | Delete
$latin_ext = '';
[1782] Fix | Delete
if ( false !== strpos( $google_fonts[$et_gf_font_name]['character_set'], 'latin-ext' ) )
[1783] Fix | Delete
$latin_ext = ',latin-ext';
[1784] Fix | Delete
[1785] Fix | Delete
$google_font_character_set = "latin{$latin_ext}";
[1786] Fix | Delete
}
[1787] Fix | Delete
[1788] Fix | Delete
$query_args = array(
[1789] Fix | Delete
'family' => sprintf( '%s:%s',
[1790] Fix | Delete
str_replace( ' ', '+', $et_gf_font_name ),
[1791] Fix | Delete
apply_filters( 'et_gf_set_styles', $google_fonts[$et_gf_font_name]['styles'], $et_gf_font_name )
[1792] Fix | Delete
),
[1793] Fix | Delete
'subset' => apply_filters( 'et_gf_set_character_set', $google_font_character_set, $et_gf_font_name ),
[1794] Fix | Delete
);
[1795] Fix | Delete
[1796] Fix | Delete
$et_gf_font_name_slug = strtolower( str_replace( ' ', '-', $et_gf_font_name ) );
[1797] Fix | Delete
wp_enqueue_style( 'et-gf-' . $et_gf_font_name_slug, esc_url( add_query_arg( $query_args, "$protocol://fonts.googleapis.com/css" ) ), array(), null );
[1798] Fix | Delete
}
[1799] Fix | Delete
}
[1800] Fix | Delete
[1801] Fix | Delete
endif;
[1802] Fix | Delete
[1803] Fix | Delete
if ( ! function_exists( 'et_pb_get_google_api_key' ) ) :
[1804] Fix | Delete
function et_pb_get_google_api_key() {
[1805] Fix | Delete
$google_api_option = get_option( 'et_google_api_settings' );
[1806] Fix | Delete
$google_api_key = isset( $google_api_option['api_key'] ) ? $google_api_option['api_key'] : '';
[1807] Fix | Delete
[1808] Fix | Delete
return $google_api_key;
[1809] Fix | Delete
}
[1810] Fix | Delete
endif;
[1811] Fix | Delete
[1812] Fix | Delete
if ( ! function_exists( 'et_uc_theme_name' ) ) :
[1813] Fix | Delete
[1814] Fix | Delete
/**
[1815] Fix | Delete
* Fixes the bug with lowercase theme name, preventing a theme to update correctly,
[1816] Fix | Delete
* when an update is being performed via Themes page
[1817] Fix | Delete
*/
[1818] Fix | Delete
function et_uc_theme_name( $key, $raw_key ) {
[1819] Fix | Delete
[1820] Fix | Delete
if ( ! ( is_admin() && isset( $_REQUEST['action'] ) && 'update-theme' === $_REQUEST['action'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.NoNonceVerification
[1821] Fix | Delete
return $key;
[1822] Fix | Delete
}
[1823] Fix | Delete
[1824] Fix | Delete
$theme_info = wp_get_theme();
[1825] Fix | Delete
[1826] Fix | Delete
if ( is_child_theme() ) {
[1827] Fix | Delete
$theme_info = wp_get_theme( $theme_info->parent_theme );
[1828] Fix | Delete
}
[1829] Fix | Delete
[1830] Fix | Delete
$theme_name = $theme_info->display( 'Name' );
[1831] Fix | Delete
[1832] Fix | Delete
if ( $raw_key !== $theme_name ) {
[1833] Fix | Delete
return $key;
[1834] Fix | Delete
}
[1835] Fix | Delete
[1836] Fix | Delete
return $theme_name;
[1837] Fix | Delete
}
[1838] Fix | Delete
add_filter( 'sanitize_key', 'et_uc_theme_name', 10, 2 );
[1839] Fix | Delete
[1840] Fix | Delete
endif;
[1841] Fix | Delete
[1842] Fix | Delete
if ( ! function_exists( 'et_core_exists_in_active_plugins' ) ) :
[1843] Fix | Delete
function et_core_exists_in_active_plugins() {
[1844] Fix | Delete
$result = defined( 'ET_BUILDER_PLUGIN_DIR' )
[1845] Fix | Delete
|| defined( 'ET_BLOOM_PLUGIN_DIR' )
[1846] Fix | Delete
|| defined( 'ET_MONARCH_PLUGIN_DIR' );
[1847] Fix | Delete
[1848] Fix | Delete
return $result;
[1849] Fix | Delete
}
[1850] Fix | Delete
endif;
[1851] Fix | Delete
[1852] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function