Поддержка → Проблемы и решения → Подключить файл стилей в дочерней теме
Подключить файл стилей в дочерней теме
-
Файл скопировал из родительской темы в дочернюю,
сейчас он находится в папке: /wp-content/themes/child/css/responsive.cssРодительская тема имеющая стили с !important не дает дочерним правильно работать.
style.css в дочерней работает правильно.
Код ниже добавляет файл в дочернюю responsive.css, но и в родительской теме файл responsive.css остается, мне его бы запретить.
add_action('wp_enqueue_scripts', 'my_theme_styles' ); function my_theme_styles() { wp_enqueue_style('parent-theme-css', get_stylesheet_directory_uri() .'/css/responsive.css' ); }
-
Файл скопировал из родительской темы в дочернюю,
сейчас он находится в папке: /wp-content/themes/child/css/responsive.cssЕсли Вы хотите переопределить стили из родителя, но как правилоно ненужно копировать и подключить доп. файлы. Достаточно в файле стилей дочки прописать нужные css-правила с учётом наследования.
Если же реально нужно отключить родительский доп. css (что достаточно редко нужно), то нужно знать как он подключается в родители и как Вы подключили дочку. Вы об этом ничего не сказали.
Я не могу переопределить стили родителя, поскольку, !important разработчика в родительской теме имеет приоритет выше.
Дочку подключил кодом выше, в дочке уже есть исправленный файл
/child/css/responsive.cssВ родителе он подключен в файле theme-head.php:
// Responsive ------------------------------------------------------------- if( mfn_opts_get('responsive') ){ wp_enqueue_style( 'mfn-responsive', THEME_URI .'/css/responsive.css', false, THEME_VERSION ); } else { wp_enqueue_style( 'mfn-responsive-off', THEME_URI .'/css/responsive-off.css', false, THEME_VERSION ); }
- Ответ изменён 5 лет, 12 месяцев назад пользователем Egor2015.
Попробуйте свой css регистрировать с тем ж именем (handler) ‘mfn-responsive’. Возможно, придется менять приоритет выполнения обработчика хука ‘wp_enqueue_scripts’
Я не могу переопределить стили родителя, поскольку, !important разработчка в родительской теме имеет приоритет выше.
Смотря где.
И да, инлайн стили имеют приоритет над подключаемыми, так что в крайнем случае можно переопределить в кастомайзере.
Дочку подключил кодом выше,
Это код подключения не дочки, а доп. css-файла.
В родителе он подключен:
Тема из оф каталога? Дайте ссылку на неё.
Если нет — это полный код? Проверок выше никаких нет?Как? В дочку скопировать theme-head.php и его редактировать, как-то…
<?php /** * Header functions. * * @package Betheme * @author Muffin group * @link http://muffingroup.com */ /* --------------------------------------------------------------------------- * Title * --------------------------------------------------------------------------- */ if( ! function_exists( 'mfn_title' ) ) { function mfn_title( $title ) { if( mfn_opts_get( 'mfn-seo' ) && mfn_ID() ){ if( trim( get_post_meta( mfn_ID(), 'mfn-meta-seo-title', true ) ) ){ $title = esc_html( get_post_meta( mfn_ID(), 'mfn-meta-seo-title', true ) ); } } return $title; } } add_filter( 'pre_get_document_title', 'mfn_title' ); /* --------------------------------------------------------------------------- * Built-in SEO Fields * --------------------------------------------------------------------------- */ if( ! function_exists( 'mfn_seo' ) ) { function mfn_seo() { if( mfn_opts_get( 'mfn-seo' ) ){ // description if( mfn_ID() && get_post_meta( mfn_ID(), 'mfn-meta-seo-description', true ) ){ echo '<meta name="description" content="'. stripslashes( get_post_meta( mfn_ID(), 'mfn-meta-seo-description', true ) ) .'" />'."\n"; } elseif( mfn_opts_get( 'meta-description' ) ){ echo '<meta name="description" content="'. stripslashes( mfn_opts_get( 'meta-description' ) ) .'" />'."\n"; } // keywords if( mfn_ID() && get_post_meta( mfn_ID(), 'mfn-meta-seo-keywords', true ) ){ echo '<meta name="keywords" content="'. stripslashes( get_post_meta( mfn_ID(), 'mfn-meta-seo-keywords', true ) ) .'" />'."\n"; } elseif( mfn_opts_get( 'meta-keywords' ) ){ echo '<meta name="keywords" content="'. stripslashes( mfn_opts_get( 'meta-keywords' ) ) .'" />'."\n"; } // og:image if( mfn_ID() && get_post_meta( mfn_ID(), 'mfn-meta-seo-og-image', true ) ){ echo '<meta property="og:image" content="'. stripslashes( get_post_meta( mfn_ID(), 'mfn-meta-seo-og-image', true ) ) .'" />'."\n"; } elseif( mfn_opts_get( 'mfn-seo-og-image' ) ){ echo '<meta property="og:image" content="'. stripslashes( mfn_opts_get( 'mfn-seo-og-image' ) ) .'" />'."\n"; } // hreflang | only if WMPL is not active if( ! function_exists( 'icl_object_id' ) ){ $format_locale = strtolower( str_replace( '_', '-', get_locale() ) ); echo '<link rel="alternate" hreflang="'. $format_locale .'" href="'. get_permalink() .'" />'."\n"; } } // google analytics if( mfn_opts_get( 'google-analytics' ) ){ mfn_opts_show( 'google-analytics' ); } // facebook pixel if( mfn_opts_get( 'facebook-pixel' ) ){ echo "\n"; mfn_opts_show( 'facebook-pixel' ); } } } add_action( 'wp_seo', 'mfn_seo' ); /* --------------------------------------------------------------------------- * Google Remarketing Code * --------------------------------------------------------------------------- */ if( ! function_exists( 'mfn_google_remarketing' ) ) { function mfn_google_remarketing() { // google remarketing if( mfn_opts_get( 'google-remarketing' ) ){ mfn_opts_show( 'google-remarketing' ); } } } add_action( 'wp_footer', 'mfn_google_remarketing', 100 ); /* --------------------------------------------------------------------------- * Fonts | Selected in Theme Options * --------------------------------------------------------------------------- */ if( ! function_exists( 'mfn_fonts_selected' ) ) { function mfn_fonts_selected(){ $fonts = array(); $fonts['content'] = mfn_opts_get( 'font-content', 'Roboto' ); $fonts['menu'] = mfn_opts_get( 'font-menu', 'Roboto' ); $fonts['title'] = mfn_opts_get( 'font-title', 'Patua One' ); $fonts['headings'] = mfn_opts_get( 'font-headings', 'Patua One' ); $fonts['headingsSmall'] = mfn_opts_get( 'font-headings-small', 'Roboto' ); $fonts['blockquote'] = mfn_opts_get( 'font-blockquote', 'Patua One' ); $fonts['decorative'] = mfn_opts_get( 'font-decorative', 'Patua One' ); return $fonts; } } /* --------------------------------------------------------------------------- * Styles * --------------------------------------------------------------------------- */ if( ! function_exists( 'mfn_styles' ) ) { function mfn_styles() { $theme_disable = mfn_opts_get( 'theme-disable' ); // wp_enqueue_style ------------------------------------------------------ wp_enqueue_style( 'style', get_stylesheet_uri(), false, THEME_VERSION ); wp_enqueue_style( 'mfn-base', THEME_URI .'/css/base.css', false, THEME_VERSION ); wp_enqueue_style( 'mfn-layout', THEME_URI .'/css/layout.css', false, THEME_VERSION ); wp_enqueue_style( 'mfn-shortcodes', THEME_URI .'/css/shortcodes.css', false, THEME_VERSION ); // plugins if( ! isset( $theme_disable['entrance-animations'] ) ){ wp_enqueue_style( 'mfn-animations', THEME_URI .'/assets/animations/animations.min.css', false, THEME_VERSION ); } wp_enqueue_style( 'mfn-jquery-ui', THEME_URI .'/assets/ui/jquery.ui.all.css', false, THEME_VERSION ); wp_enqueue_style( 'mfn-jplayer', THEME_URI .'/assets/jplayer/css/jplayer.blue.monday.css', false, THEME_VERSION ); // rtl | demo ----- if( $_GET && key_exists( 'mfn-rtl', $_GET ) ) wp_enqueue_style( 'mfn-rtl', THEME_URI .'/rtl.css', false, THEME_VERSION ); // Responsive ------------------------------------------------------------- if( mfn_opts_get('responsive') ){ wp_enqueue_style( 'mfn-responsive', THEME_URI .'/css/responsive.css', false, THEME_VERSION ); } else { wp_enqueue_style( 'mfn-responsive-off', THEME_URI .'/css/responsive-off.css', false, THEME_VERSION ); } // Custom Theme Options styles -------------------------------------------- if( mfn_opts_get( 'static-css' ) && ( ! ( $_GET && key_exists( 'mfn-c', $_GET ) ) ) ){ // Static | style-static.css if( defined( 'STATIC_IN_CHILD' ) && STATIC_IN_CHILD ){ wp_enqueue_style( 'mfn-style-static', CHILD_THEME_URI .'/style-static.css', false, THEME_VERSION ); } else { wp_enqueue_style( 'mfn-style-static', THEME_URI .'/style-static.css', false, THEME_VERSION ); } } else { // Predefined Skins if( $_GET && key_exists( 'mfn-c', $_GET ) ){ $skin = esc_html( $_GET['mfn-c'] ); // demo } elseif( $layoutID = mfn_layout_ID() ) { $skin = get_post_meta( $layoutID, 'mfn-post-skin', true ); } else { $skin = mfn_opts_get('skin','custom'); } if( $skin != 'custom' && $skin != 'one' ){ // Predefined Skins wp_enqueue_style( 'mfn-skin-'. $skin, THEME_URI .'/css/skins/'. $skin .'/style.css', false, THEME_VERSION ); } } // Google Fonts ---------------------------------------------------------- $google_fonts = mfn_fonts( 'all' ); // subset $subset = mfn_opts_get('font-subset'); if( $subset ) $subset = '&subset='. str_replace(' ', '', $subset); // style & weight if( $weight = mfn_opts_get('font-weight') ){ $weight = ':'. implode( ',', $weight ); } $fonts = mfn_fonts_selected(); foreach( $fonts as $font ){ if( in_array( $font, $google_fonts ) ){ // Google Fonts $font_slug = str_replace(' ', '+', $font); wp_enqueue_style( $font_slug, 'http'. mfn_ssl() .'://fonts.googleapis.com/css?family='. $font_slug . $weight . $subset ); } } } } add_action( 'wp_enqueue_scripts', 'mfn_styles' ); /* --------------------------------------------------------------------------- * Styles | Custom Font * --------------------------------------------------------------------------- */ if( ! function_exists( 'mfn_styles_custom_font' ) ) { function mfn_styles_custom_font() { $font_custom = mfn_opts_get( 'font-custom' ); $font_custom2 = mfn_opts_get( 'font-custom2' ); if( $font_custom ){ echo '<!-- style | custom font -->'."\n"; echo '<style id="mfn-dnmc-font-css">'."\n"; echo '@font-face {'; echo 'font-family: "'. $font_custom .'";'; echo 'src: url("'. mfn_opts_get('font-custom-eot') .'");'; echo 'src: url("'. mfn_opts_get('font-custom-eot') .'#iefix") format("embedded-opentype"),'; echo 'url("'. mfn_opts_get('font-custom-woff') .'") format("woff"),'; echo 'url("'. mfn_opts_get('font-custom-ttf') .'") format("truetype"),'; echo 'url("'. mfn_opts_get('font-custom-svg') .'#'. $font_custom .'") format("svg");'; echo 'font-weight: normal;'; echo 'font-style: normal;'; echo '}'."\n"; echo '</style>'."\n"; } if( $font_custom2 ){ echo '<!-- style | custom font 2 -->'."\n"; echo '<style id="mfn-dnmc-font2-css">'."\n"; echo '@font-face {'; echo 'font-family: "'. $font_custom2 .'";'; echo 'src: url("'. mfn_opts_get('font-custom2-eot') .'");'; echo 'src: url("'. mfn_opts_get('font-custom2-eot') .'#iefix") format("embedded-opentype"),'; echo 'url("'. mfn_opts_get('font-custom2-woff') .'") format("woff"),'; echo 'url("'. mfn_opts_get('font-custom2-ttf') .'") format("truetype"),'; echo 'url("'. mfn_opts_get('font-custom2-svg') .'#'. $font_custom2 .'") format("svg");'; echo 'font-weight: normal;'; echo 'font-style: normal;'; echo '}'."\n"; echo '</style>'."\n"; } } } add_action('wp_head', 'mfn_styles_custom_font'); /* --------------------------------------------------------------------------- * Styles | Background * --------------------------------------------------------------------------- */ if( ! function_exists( 'mfn_styles_background' ) ) { function mfn_styles_background() { $output = ''; $output_ultrawide = ''; // HTML ---------------------------- if( $layoutID = mfn_layout_ID() ){ $htmlB = get_post_meta( $layoutID, 'mfn-post-bg', true ); $htmlP = get_post_meta( $layoutID, 'mfn-post-bg-pos', true ); } else { $htmlB = mfn_opts_get( 'img-page-bg' ); $htmlP = mfn_opts_get( 'position-page-bg' ); } if( $htmlB ){ $aBg = array(); $aBg[] = 'background-image:url('. $htmlB .')'; if( $htmlP ){ $background_attr = explode( ';', $htmlP ); if( $background_attr[0] ) $aBg[] = 'background-repeat:'. $background_attr[0]; if( $background_attr[1] ) $aBg[] = 'background-position:'. $background_attr[1]; if( $background_attr[2] ) $aBg[] = 'background-attachment:'. $background_attr[2]; if( $background_attr[3] ){ $aBg[] = 'background-size:'. $background_attr[3]; } elseif( mfn_opts_get( 'size-page-bg' ) ){ if( in_array( mfn_opts_get( 'size-page-bg' ), array( 'cover', 'contain' ) ) ){ $aBg[] = 'background-size:'. mfn_opts_get( 'size-page-bg' ); } elseif( mfn_opts_get( 'size-page-bg' ) == 'cover-ultrawide' ) { $output_ultrawide .= 'html{background-size:cover}'; } } } $background = implode( ';', $aBg ); $output .= 'html{'. $background. '}'."\n"; } // Header wrapper ----------------------- $headerB = false; if( mfn_opts_get( 'img-subheader-bg' ) ){ $headerB = mfn_opts_get( 'img-subheader-bg' ); } if( mfn_ID() && ! is_search() ){ if( ( ( mfn_ID() == get_option( 'page_for_posts' ) ) || ( get_post_type( mfn_ID() ) == 'page' ) ) && has_post_thumbnail( mfn_ID() ) ){ // Pages & Blog Page --- $headerB = wp_get_attachment_image_src( get_post_thumbnail_id( mfn_ID() ), 'full' ); $headerB = $headerB[0]; } elseif( get_post_meta( mfn_ID(), 'mfn-post-header-bg', true ) ){ // Single Post --- $headerB = get_post_meta( mfn_ID(), 'mfn-post-header-bg', true ); } } $headerP = mfn_opts_get( 'img-subheader-attachment' ); if( $headerB ){ $aBg = array(); $aBg[] = 'background-image:url('. $headerB .')'; if( $headerP == "fixed" ){ $aBg[] = 'background-attachment:fixed'; } elseif( $headerP == "parallax" ) { // do nothing } elseif( $headerP ) { $background_attr = explode( ';', $headerP ); if( $background_attr[0] ) $aBg[] = 'background-repeat:'. $background_attr[0]; if( $background_attr[1] ) $aBg[] = 'background-position:'. $background_attr[1]; if( $background_attr[2] ) $aBg[] = 'background-attachment:'. $background_attr[2]; if( $background_attr[3] ){ $aBg[] = 'background-size:'. $background_attr[3]; } elseif( mfn_opts_get( 'size-subheader-bg' ) ){ if( in_array( mfn_opts_get( 'size-subheader-bg' ), array( 'cover', 'contain' ) ) ){ $aBg[] = 'background-size:'. mfn_opts_get( 'size-subheader-bg' ); } elseif( mfn_opts_get( 'size-subheader-bg' ) == 'cover-ultrawide' ) { $output_ultrawide .= 'body:not(.template-slider) #Header_wrapper{background-size:cover}'; } } } $background = implode( ';', $aBg ); $output .= 'body:not(.template-slider) #Header_wrapper{'. $background. '}'."\n"; } // Subheader ----------------------- if( get_post_meta( mfn_ID(), 'mfn-post-subheader-image', true ) ){ $subheaderB = get_post_meta( mfn_ID(), 'mfn-post-subheader-image', true ); } else { $subheaderB = mfn_opts_get( 'subheader-image' ); } $subheaderP = mfn_opts_get( 'subheader-position' ); if( $subheaderB ){ $aBg = array(); $aBg[] = 'background-image:url('. $subheaderB .')'; if( $subheaderP ){ $background_attr = explode( ';', $subheaderP ); if( $background_attr[0] ) $aBg[] = 'background-repeat:'. $background_attr[0]; if( $background_attr[1] ) $aBg[] = 'background-position:'. $background_attr[1]; if( $background_attr[2] ) $aBg[] = 'background-attachment:'. $background_attr[2]; if( $background_attr[3] ){ $aBg[] = 'background-size:'. $background_attr[3]; } elseif( mfn_opts_get( 'subheader-size' ) ){ if( in_array( mfn_opts_get( 'subheader-size' ), array( 'cover', 'contain' ) ) ){ $aBg[] = 'background-size:'. mfn_opts_get( 'subheader-size' ); } elseif( mfn_opts_get( 'subheader-size' ) == 'cover-ultrawide' ) { $output_ultrawide .= '#Subheader{background-size:cover}'; } } } $background = implode( ';', $aBg ); $output .= '#Subheader{'. $background. '}'."\n"; } // Footer -------------------------- $footerB = mfn_opts_get( 'footer-bg-img' ); $footerP = mfn_opts_get( 'footer-bg-img-position' ); if( $footerB ){ $aBg = array(); $aBg[] = 'background-image:url('. $footerB .')'; if( $footerP ){ $background_attr = explode( ';', $footerP ); if( $background_attr[0] ) $aBg[] = 'background-repeat:'. $background_attr[0]; if( $background_attr[1] ) $aBg[] = 'background-position:'. $background_attr[1]; if( $background_attr[2] ) $aBg[] = 'background-attachment:'. $background_attr[2]; if( $background_attr[3] ){ $aBg[] = 'background-size:'. $background_attr[3]; } elseif( mfn_opts_get( 'footer-bg-img-size' ) ){ if( in_array( mfn_opts_get( 'footer-bg-img-size' ), array( 'cover', 'contain' ) ) ){ $aBg[] = 'background-size:'. mfn_opts_get( 'footer-bg-img-size' ); } elseif( mfn_opts_get( 'footer-bg-img-size' ) == 'cover-ultrawide' ) { $output_ultrawide .= '#Footer{background-size:cover}'; } } } $background = implode( ';', $aBg ); $output .= '#Footer{'. $background. '}'."\n"; } // Echo ---------------------------- if( $output ){ echo '<!-- style | background -->'."\n"; echo '<style id="mfn-dnmc-bg-css">'."\n"; echo $output; if( $output_ultrawide ){ echo '@media only screen and (min-width: 1921px){'. $output_ultrawide. '}'."\n"; } echo '</style>'."\n"; } } } add_action('wp_head', 'mfn_styles_background'); /* --------------------------------------------------------------------------- * Styles | Minify * --------------------------------------------------------------------------- */ if( ! function_exists( 'mfn_styles_minify' ) ) { function mfn_styles_minify( $css ){ // remove comments $css = preg_replace( '!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $css ); // remove whitespace $css = str_replace( array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $css ); return $css; } } /* --------------------------------------------------------------------------- * Styles | Dynamic * --------------------------------------------------------------------------- */ if( ! function_exists( 'mfn_styles_dynamic' ) ) { function mfn_styles_dynamic() { echo '<!-- style | dynamic -->'."\n"; echo '<style id="mfn-dnmc-style-css">'."\n"; ob_start(); if( ! mfn_opts_get( 'static-css' ) ){ // Dynamic | style.php & ( style-responsive.php || style-colors.php || style-one.php || css/skins/.. ) // Responsive if( mfn_opts_get('responsive') ){ include_once THEME_DIR . '/style-responsive.php'; } // Colors if( $_GET && key_exists( 'mfn-c', $_GET ) ){ $skin = esc_html( $_GET['mfn-c'] ); // demo } elseif( $layoutID = mfn_layout_ID() ) { $skin = get_post_meta( $layoutID, 'mfn-post-skin', true ); } else { $skin = mfn_opts_get('skin','custom'); } if( $skin == 'custom' ){ // Custom Skin include_once THEME_DIR . '/style-colors.php'; } elseif( $skin == 'one' ){ // One Click Skin Generator include_once THEME_DIR . '/style-one.php'; } // Style PHP include_once THEME_DIR . '/style.php'; } $css = ob_get_contents(); ob_get_clean(); // echo $css; echo mfn_styles_minify( $css ) ."\n"; echo '</style>'."\n"; } } add_action( 'wp_head', 'mfn_styles_dynamic' ); /* --------------------------------------------------------------------------- * Styles | Custom Styles * --------------------------------------------------------------------------- */ if( ! function_exists( 'mfn_styles_custom' ) ) { function mfn_styles_custom() { // Theme Options > Custom CSS if( $custom_css = mfn_opts_get( 'custom-css' ) ){ echo '<!-- style | custom css | theme options -->'."\n"; echo '<style id="mfn-dnmc-theme-css">'."\n"; echo $custom_css ."\n"; echo '</style>'."\n"; } // Page Options > Custom CSS if( $custom_css = get_post_meta( mfn_ID(), 'mfn-post-css', true ) ){ echo '<!-- style | custom css | page options -->'."\n"; echo '<style id="mfn-dnmc-page-css">'."\n"; echo $custom_css."\n"; echo '</style>'."\n"; } // Layouts > Custom Colors if( $layoutID = mfn_layout_ID() ){ $layout_styles = ''; if( get_post_meta( $layoutID, 'mfn-post-background-subheader', true ) ){ $layout_styles .= '#Subheader {background-color: '. get_post_meta( $layoutID, 'mfn-post-background-subheader', true ) .';} '; } if( get_post_meta( $layoutID, 'mfn-post-color-subheader', true ) ){ $layout_styles .= '#Subheader .title {color: '. get_post_meta( $layoutID, 'mfn-post-color-subheader', true ) .';} '; $layout_styles .= '#Subheader ul.breadcrumbs li, #Subheader ul.breadcrumbs li a {color: '. hex2rgba(get_post_meta( $layoutID, 'mfn-post-color-subheader', true ),.6) .';} '; } if( $layout_styles ){ echo '<!-- style | custom layout -->'."\n"; echo '<style id="mfn-dnmc-layout-css">'."\n"; echo $layout_styles."\n"; echo '</style>'."\n"; } } // Demo - Custom Google Fonts for Homepages if( $_GET && key_exists( 'mfn-f', $_GET ) ){ $font_slug = str_replace( '+', ' ', esc_html( $_GET['mfn-f'] ) ); $font_family = str_replace( '+', ' ', $font_slug ); wp_enqueue_style( $font_slug, 'http'. mfn_ssl() .'://fonts.googleapis.com/css?family='. $font_slug .':300,400' ); echo '<!-- style | demo -->'."\n"; echo '<style id="mfn-dnmc-demo-css">'; echo 'h1, h2, h3, h4 { font-family: '. $font_family .' !important;}'; echo '</style>'."\n"; } } } add_action('wp_head', 'mfn_styles_custom'); /* --------------------------------------------------------------------------- * Scripts * --------------------------------------------------------------------------- */ if( ! function_exists( 'mfn_scripts' ) ) { function mfn_scripts() { wp_enqueue_script( 'jquery-ui-core', THEME_URI .'/assets/ui/jquery.ui.core.js', array( 'jquery' ), THEME_VERSION, true ); wp_enqueue_script( 'jquery-ui-widget', THEME_URI .'/assets/ui/jquery.ui.widget.js', array( 'jquery' ), THEME_VERSION, true ); wp_enqueue_script( 'jquery-ui-tabs', THEME_URI .'/assets/ui/jquery.ui.tabs.js', array( 'jquery' ), THEME_VERSION, true ); wp_enqueue_script( 'jquery-ui-accordion', THEME_URI .'/assets/ui/jquery.ui.accordion.js', array( 'jquery' ), THEME_VERSION, true ); wp_enqueue_script( 'jquery-plugins', THEME_URI .'/js/plugins.js', array( 'jquery' ), THEME_VERSION, true ); wp_enqueue_script( 'jquery-mfn-menu', THEME_URI .'/js/menu.js', array( 'jquery' ), THEME_VERSION, true ); wp_enqueue_script( 'jquery-animations', THEME_URI .'/assets/animations/animations.min.js', array( 'jquery' ), THEME_VERSION, true ); wp_enqueue_script( 'jquery-jplayer', THEME_URI .'/assets/jplayer/jplayer.min.js', array( 'jquery' ), THEME_VERSION, true ); $parallax = mfn_parallax_plugin(); if( $parallax == 'translate3d' ){ wp_enqueue_script( 'jquery-mfn-parallax', THEME_URI .'/js/parallax/translate3d.js', array( 'jquery' ), THEME_VERSION, true ); } elseif( $parallax == 'stellar' ){ wp_enqueue_script( 'jquery-stellar', THEME_URI .'/js/parallax/stellar.js', array( 'jquery' ), THEME_VERSION, true ); } if( mfn_opts_get( 'nice-scroll' ) == 'smooth' ){ wp_enqueue_script( 'jquery-smoothscroll', THEME_URI .'/js/parallax/smoothscroll.js', array( 'jquery' ), THEME_VERSION, true ); } // scripts config ----------------------------- mfn_scripts_config(); wp_enqueue_script( 'jquery-scripts', THEME_URI .'/js/scripts.js', array( 'jquery' ), THEME_VERSION, true ); // singular | comment reply if( is_singular() && comments_open() && get_option( 'thread_comments' ) ){ wp_enqueue_script( 'comment-reply' ); } } } add_action( 'wp_enqueue_scripts', 'mfn_scripts' ); /* --------------------------------------------------------------------------- * Scripts | Custom JS * --------------------------------------------------------------------------- */ if( ! function_exists( 'mfn_scripts_custom' ) ) { function mfn_scripts_custom() { if( $custom_js = mfn_opts_get( 'custom-js' ) ){ echo '<!-- script | custom js -->'."\n"; echo '<script id="mfn-dnmc-custom-js">'."\n"; echo '//<![CDATA['."\n"; echo $custom_js ."\n"; echo '//]]>'."\n"; echo '</script>'."\n"; } } } add_action('wp_footer', 'mfn_scripts_custom', 100); /* --------------------------------------------------------------------------- * Scripts config * --------------------------------------------------------------------------- */ if( ! function_exists( 'mfn_scripts_config' ) ) { function mfn_scripts_config() { echo '<!-- script | dynamic -->'."\n"; echo '<script id="mfn-dnmc-config-js">'."\n"; echo '//<![CDATA['."\n"; // ajax if( mfn_opts_get( 'love' ) ){ echo 'window.mfn_ajax = "'. admin_url( 'admin-ajax.php' ) .'";'."\n"; } // options echo 'window.mfn = {'; // mobile menu initial width echo 'mobile_init:'. mfn_opts_get( 'mobile-menu-initial', 1240 ) .','; // nice scroll echo 'nicescroll:'. mfn_opts_get( 'nice-scroll-speed', 40 ) .','; // parallax echo 'parallax:"'. mfn_parallax_plugin() .'",'; // responsive echo 'responsive:'. intval( mfn_opts_get( 'responsive', 0 ) ) .','; // retina disable echo 'retina_js:'. intval( mfn_opts_get( 'retina-js' ) ) .''; echo '};'."\n"; // lightbox $aPrettyOptions = mfn_opts_get( 'prettyphoto-options' ); echo 'window.mfn_lightbox = {'; if( is_array( $aPrettyOptions ) && isset( $aPrettyOptions['disable'] ) ){ echo 'disable:true,'; } else { echo 'disable:false,'; } if( is_array( $aPrettyOptions ) && isset( $aPrettyOptions['disable-mobile'] ) ){ echo 'disableMobile:true,'; } else { echo 'disableMobile:false,'; } if( is_array( $aPrettyOptions ) && isset( $aPrettyOptions['title'] ) ){ echo 'title:true,'; } else { echo 'title:false,'; } echo '};'."\n"; // sliders echo 'window.mfn_sliders = {'; echo 'blog:'. intval( mfn_opts_get('slider-blog-timeout',0) ) .','; echo 'clients:'. intval( mfn_opts_get('slider-clients-timeout',0) ) .','; echo 'offer:'. intval( mfn_opts_get('slider-offer-timeout',0) ) .','; echo 'portfolio:'. intval( mfn_opts_get('slider-portfolio-timeout',0) ) .','; echo 'shop:'. intval( mfn_opts_get('slider-shop-timeout',0) ) .','; echo 'slider:'. intval( mfn_opts_get('slider-slider-timeout',0) ) .','; echo 'testimonials:'. intval( mfn_opts_get('slider-testimonials-timeout',0) ); echo '};'."\n"; echo '//]]>'."\n"; echo '</script>'."\n"; } } /* --------------------------------------------------------------------------- * Adds classes to the array of body classes. * --------------------------------------------------------------------------- */ // header style --------------------------------- if( ! function_exists( 'mfn_header_style' ) ) { function mfn_header_style( $firstPartOnly = false ){ $header_layout = false; if( $_GET && key_exists( 'mfn-h', $_GET ) ){ $header_layout = esc_html( $_GET['mfn-h'] ); // demo } elseif( $layoutID = mfn_layout_ID() ){ $header_layout = get_post_meta( $layoutID, 'mfn-post-header-style', true ); } elseif( mfn_opts_get('header-style') ){ $header_layout = mfn_opts_get('header-style'); } if( strpos( $header_layout, ',' ) ){ // multiple header parameters $a_header_layout = explode( ',', $header_layout ); // return only First Parameter if( $firstPartOnly ) return 'header-'.$a_header_layout[0]; foreach( (array)$a_header_layout as $key => $val ){ $a_header_layout[$key] = 'header-'. $val; } $header = implode(' ', $a_header_layout); } else { // one parameter $header = 'header-'. $header_layout; } return $header; } } // sidebar classes ------------------------------ if( ! function_exists( 'mfn_sidebar_classes' ) ) { function mfn_sidebar_classes( $has_both = false ) { $classes = $both = false; if( mfn_ID() ){ if( get_post_type() == 'page' && mfn_opts_get('single-page-layout') ){ // Theme Options | Single - Page $layout = mfn_opts_get('single-page-layout'); } elseif( get_post_type() == 'post' && is_single() && mfn_opts_get('single-layout') ){ // Theme Options | Single - Post $layout = mfn_opts_get('single-layout'); } elseif( get_post_type() == 'portfolio' && is_single() && mfn_opts_get('single-portfolio-layout') ){ // Theme Options | Single - Portfolio $layout = mfn_opts_get('single-portfolio-layout'); } else { // Post Meta $layout = get_post_meta( mfn_ID(), 'mfn-post-layout', true); } switch ( $layout ) { case 'left-sidebar': $classes = ' with_aside aside_left'; break; case 'right-sidebar': $classes = ' with_aside aside_right'; break; case 'both-sidebars': $classes = ' with_aside aside_both'; $both = true; break; } // demo if( $_GET && key_exists( 'mfn-s', $_GET ) ){ if( $_GET['mfn-s'] ){ $classes = ' with_aside aside_right'; } else { $classes = false; } } } // WooCommerce if( function_exists( 'is_woocommerce' ) ){ if( is_woocommerce() ){ if( ! isset( $layout ) || ! $layout ){ // BeTheme version < 6.4 | DO NOT DELETE if( is_active_sidebar( 'shop' ) ) $classes = ' with_aside aside_right'; } elseif( $layout == 'both-sidebars' ){ // Only one sidebar for shop $classes = ' with_aside aside_right'; } } if( function_exists( 'is_product' ) && is_product() && mfn_opts_get( 'shop-sidebar' ) == 'shop' ){ $classes = false; } } // bbPress if( function_exists('is_bbpress') && is_bbpress() && is_active_sidebar( 'forum' ) ){ $classes = ' with_aside aside_right'; } // BuddyPress if( function_exists('is_buddypress') && is_buddypress() && is_active_sidebar( 'buddy' ) ){ $classes = ' with_aside aside_right'; } // Easy Digital Downloads if( ( get_post_type() == 'download' ) && is_active_sidebar( 'edd' ) ){ $classes = ' with_aside aside_right'; } // Events Calendar if( function_exists('tribe_is_month') && is_active_sidebar( 'events' ) ){ if( tribe_is_month() || tribe_is_day() || tribe_is_event() || tribe_is_event_query() || tribe_is_venue() ){ $classes = ' with_aside aside_right'; } } // Page | Search if( is_search() ){ if( is_active_sidebar( 'mfn-search' ) ){ $classes = ' with_aside aside_right'; } else { $classes = false; } } // Page | Blank Page, Under Construction if( is_page_template( 'template-blank.php' ) || is_page_template( 'under-construction.php' ) ){ $classes = false; } // check if has both sidebars if( $has_both ) return $both; return $classes; } } // body classes --------------------------------- if( ! function_exists( 'mfn_body_classes' ) ) { function mfn_body_classes( $classes ) { // Layout | Custom $layoutID = mfn_layout_ID(); // Global ============================================= // Slider --------------------------------------------- if( mfn_slider_isset() ){ if( function_exists( 'is_woocommerce' ) && is_woocommerce() ){ // do nothing } else { $classes[] = 'template-slider'; } } // Sidebar -------------------------------------------- $classes[] = mfn_sidebar_classes(); // Skin ----------------------------------------------- if( $_GET && key_exists( 'mfn-c', $_GET ) ){ $classes[] = 'color-'. esc_html( $_GET['mfn-c'] ); // demo } elseif( $layoutID ){ $classes[] = 'color-'. get_post_meta( $layoutID, 'mfn-post-skin', true ); } else { $classes[] = 'color-'. mfn_opts_get('skin','custom'); } // Style | Default & Simple --------------------------- if( $_GET && key_exists( 'mfn-style', $_GET ) ){ $classes[] = 'style-'. esc_html( $_GET['mfn-style'] ); // demo } else { $classes[] = 'style-'. mfn_opts_get( 'style', 'default' ); } // Button | Style ------------------------------------- if( $_GET && key_exists( 'mfn-btn', $_GET ) ){ $classes[] = 'button-'. esc_html( $_GET['mfn-btn'] ); // demo } else { $classes[] = 'button-'. mfn_opts_get( 'button-style', 'default' ); } // Layout | Full Width & Boxed ------------------------ if( $_GET && key_exists( 'mfn-box', $_GET ) ){ $classes[] = 'layout-boxed'; // demo } elseif( $layoutID ){ $classes[] = 'layout-'. get_post_meta( $layoutID, 'mfn-post-layout', true ); } else { $classes[] = 'layout-'. mfn_opts_get('layout','full-width'); } // One Page ------------------------------------------- if( get_post_meta( mfn_ID(), 'mfn-post-one-page', true ) ){ $classes[] = 'one-page'; } // Nice Scroll ---------------------------------------- if( mfn_opts_get( 'nice-scroll' ) == '1' ) $classes[] = 'nice-scroll-on'; // Image Frame | Style -------------------------------- if( $_GET && key_exists( 'mfn-if', $_GET ) ){ $classes[] = 'if-'. esc_html( $_GET['mfn-if'] ); // demo } elseif( mfn_opts_get('image-frame-style') ){ $classes[] = 'if-'. mfn_opts_get('image-frame-style'); } // Image Frame | Border ------------------------------- if( mfn_opts_get('image-frame-border') ){ $classes[] = 'if-border-'. mfn_opts_get('image-frame-border'); } // Image Frame | Caption ------------------------------- if( mfn_opts_get('image-frame-caption') ) $classes[] = 'if-caption-on'; // Content Padding ------------------------------------ if( mfn_opts_get('content-remove-padding') ){ $classes[] = 'no-content-padding'; } elseif( get_post_meta( mfn_ID(), 'mfn-post-remove-padding', true ) ){ $classes[] = 'no-content-padding'; } // Single Template ------------------------------------ if( get_post_meta( mfn_ID(), 'mfn-post-template', true ) ){ $classes[] = 'single-template-'. get_post_meta( mfn_ID(), 'mfn-post-template', true ); } // Love ----------------------------------------------- if( ! mfn_opts_get('love') ) $classes[] = 'hide-love'; // Table Hover ---------------------------------------- if( mfn_opts_get('table-hover') ) $classes[] = 'table-'. mfn_opts_get('table-hover'); // Contact Form 7 | Form Error ------------------------ if( mfn_opts_get( 'cf7-error' ) ) $classes[] = 'cf7p-'. mfn_opts_get( 'cf7-error' ); // Advanced | Other $layout_options = mfn_opts_get( 'layout-options' ); if( is_array( $layout_options ) ){ if( isset( $layout_options['no-shadows'] ) ){ $classes[] = 'no-shadows'; } if( isset( $layout_options['boxed-no-margin'] ) ){ $classes[] = 'boxed-no-margin'; } } // Header ============================================= $header_options = mfn_opts_get( 'header-fw' ) ? mfn_opts_get( 'header-fw' ) : false; // Header | Layout -------------------------- $classes[] = mfn_header_style(); // Header | Full Width ---------------------- if( $_GET && key_exists( 'mfn-hfw', $_GET ) ){ $classes[] = 'header-fw'; // demo } elseif( isset( $header_options['full-width'] ) ){ $classes[] = 'header-fw'; } // Header | Boxed --------------------------- if( is_array( $header_options ) && isset( $header_options['header-boxed'] ) ){ $classes[] = 'header-boxed'; } // Header | Minimalist ---------------------- if( $_GET && key_exists( 'mfn-min', $_GET ) ){ $classes[] = 'minimalist-header'; // demo } elseif( $layoutID ){ if( get_post_meta( $layoutID, 'mfn-post-minimalist-header', true ) == 'no' ){ $classes[] = 'minimalist-header-no'; } elseif( get_post_meta( $layoutID, 'mfn-post-minimalist-header', true ) ){ $classes[] = 'minimalist-header'; } } elseif( mfn_opts_get('minimalist-header') == 'no' ) { $classes[] = 'minimalist-header-no'; } elseif( mfn_opts_get('minimalist-header') ) { $classes[] = 'minimalist-header'; } // Header | Sticky -------------------------- if( $layoutID ){ if( get_post_meta( $layoutID, 'mfn-post-sticky-header', true ) ){ $classes[] = 'sticky-header'; } } elseif( mfn_opts_get('sticky-header') ){ $classes[] = 'sticky-header'; } // Header Sticky Style ---------------------- if( $_GET && key_exists( 'mfn-ss', $_GET ) ){ $classes[] = 'sticky-'. esc_html( $_GET['mfn-ss'] ); // demo } elseif( $layoutID ){ $classes[] = 'sticky-'. get_post_meta( $layoutID, 'mfn-post-sticky-header-style', true ); } else { $classes[] = 'sticky-'. mfn_opts_get( 'sticky-header-style', 'white' ); } // Action Bar ------------------------------- if( mfn_opts_get('action-bar') ){ $classes[] = 'ab-show'; } else { $classes[] = 'ab-hide'; } // Subheader | Transparent ------------------ $skin = mfn_opts_get( 'skin', 'custom' ); if( $_GET && key_exists( 'mfn-subtr', $_GET ) ){ $classes[] = 'subheader-transparent'; // demo } elseif( ! in_array( $skin, array('custom','one') ) ){ if( mfn_opts_get( 'subheader-transparent' ) != 100 ){ $classes[] = 'subheader-transparent'; } } // Subheader | Style ------------------------ if( $_GET && key_exists( 'mfn-sh', $_GET ) ){ $classes[] = 'subheader-'. esc_html( $_GET['mfn-sh'] ); // demo } else { $classes[] = 'subheader-'. mfn_opts_get( 'subheader-style', 'title-left' ); } // Menu | Style ----------------------------- if( $_GET && key_exists( 'mfn-m', $_GET ) ){ $classes[] = 'menu-'. esc_html( $_GET['mfn-m'] ); // demo } elseif( mfn_opts_get('menu-style') ) { $classes[] = 'menu-'. mfn_opts_get('menu-style'); } // Menu | Options --------------------------- $menu_options = mfn_opts_get( 'menu-options' ); if( is_array( $menu_options ) && isset( $menu_options['align-right'] ) ){ $classes[] = 'menuo-right'; } if( is_array( $menu_options ) && isset( $menu_options['menu-arrows'] ) ){ $classes[] = 'menuo-arrows'; } if( is_array( $menu_options ) && isset( $menu_options['hide-borders'] ) ){ $classes[] = 'menuo-no-borders'; } if( is_array( $menu_options ) && isset( $menu_options['submenu-active'] ) ){ $classes[] = 'menuo-sub-active'; } if( is_array( $menu_options ) && isset( $menu_options['submenu-limit'] ) ){ $classes[] = 'menuo-sub-limit'; } if( is_array( $menu_options ) && isset( $menu_options['last'] ) ){ $classes[] = 'menuo-last'; } // Mega Menu | Style ----------------------------- if( mfn_opts_get( 'menu-mega-style' ) ) { $classes[] = 'mm-'. mfn_opts_get( 'menu-mega-style' ); } // Logo | Options --------------------------- if( mfn_opts_get('logo-vertical-align') ) { $classes[] = 'logo-valign-'. mfn_opts_get('logo-vertical-align'); } $logo_options = mfn_opts_get( 'logo-advanced' ); if( is_array( $logo_options ) && isset( $logo_options['no-margin'] ) ){ $classes[] = 'logo-no-margin'; } if( is_array( $logo_options ) && isset( $logo_options['overflow'] ) ){ $classes[] = 'logo-overflow'; } if( is_array( $logo_options ) && isset( $logo_options['no-sticky-padding'] ) ){ $classes[] = 'logo-no-sticky-padding'; } // Footer =================================================== // footer | Style --------------------------- if( $_GET && key_exists( 'mfn-ftr', $_GET ) ){ $classes[] = 'footer-'. esc_html( $_GET['mfn-ftr'] ); // demo } elseif( mfn_opts_get('footer-style') ) { $classes[] = 'footer-'. mfn_opts_get('footer-style'); } // footer | Copy & Social ------------------- if( mfn_opts_get( 'footer-hide' ) == 'center' ) { $classes[] = 'footer-copy-center'; } // Responsive =============================================== if( ! mfn_opts_get( 'responsive' ) ){ $classes[] = 'responsive-off'; } if( mfn_opts_get( 'responsive-boxed2fw' ) ){ $classes[] = 'boxed2fw'; } if( mfn_opts_get( 'no-hover' ) ){ $classes[] = 'no-hover-'. mfn_opts_get( 'no-hover' ); } if( mfn_opts_get( 'no-section-bg' ) ){ $classes[] = 'no-section-bg-'. mfn_opts_get( 'no-section-bg' ); } if( mfn_opts_get( 'responsive-top-bar' ) ){ $classes[] = 'mobile-tb-'. mfn_opts_get( 'responsive-top-bar' ); } if( mfn_opts_get( 'responsive-mobile-menu' ) ){ $classes[] = 'mobile-'. mfn_opts_get( 'responsive-mobile-menu' ); } if( mfn_opts_get( 'mobile-menu' ) ){ $classes[] = 'mobile-menu'; } $classes[] = 'mobile-mini-'. mfn_opts_get( 'responsive-header-minimal', 'mr-ll' ); // responsive | tablet | options $responsive_header_mob = mfn_opts_get( 'responsive-header-tablet' ); if( is_array( $responsive_header_mob ) ){ if( isset( $responsive_header_mob['sticky'] ) ){ $classes[] = 'tablet-sticky'; } } // responsive | mobile | options $responsive_header_mob = mfn_opts_get( 'responsive-header-mobile' ); if( is_array( $responsive_header_mob ) ){ if( isset( $responsive_header_mob['minimal'] ) ){ $classes[] = 'mobile-header-mini'; } if( isset( $responsive_header_mob['sticky'] ) ){ $classes[] = 'mobile-sticky'; } if( isset( $responsive_header_mob['transparent'] ) ){ $classes[] = 'mobile-tr-header'; } } // Transparent ============================================== $transparent_options = mfn_opts_get( 'transparent' ); if( is_array( $transparent_options ) ){ if( isset( $transparent_options['header'] ) ){ $classes[] = 'tr-header'; } if( isset( $transparent_options['menu'] ) ){ $classes[] = 'tr-menu'; } if( isset( $transparent_options['content'] ) ){ $classes[] = 'tr-content'; } if( isset( $transparent_options['footer'] ) ){ $classes[] = 'tr-footer'; } } // demo / debug ============================================= if( $_GET && key_exists( 'mfn-rtl' , $_GET ) ) $classes[] = 'rtl'; if( $layoutID ) $classes[] = 'dbg-lay-id-'. $layoutID; $reg = mfn_is_registered() ? 'reg-' : ''; $classes[] = 'be-'. $reg . str_replace( '.', '', THEME_VERSION ); return $classes; } } add_filter( 'body_class', 'mfn_body_classes' ); /* --------------------------------------------------------------------------- * Annoying styles remover * --------------------------------------------------------------------------- */ if( ! function_exists( 'mfn_remove_recent_comments_style' ) ) { function mfn_remove_recent_comments_style(){ global $wp_widget_factory; if( isset( $wp_widget_factory->widgets['WP_Widget_Recent_Comments'] ) ){ remove_action( 'wp_head', array( $wp_widget_factory->widgets['WP_Widget_Recent_Comments'], 'recent_comments_style' ) ); } } } add_action( 'widgets_init', 'mfn_remove_recent_comments_style' );
- Ответ изменён 5 лет, 12 месяцев назад пользователем Egor2015.
if( ! function_exists( 'mfn_styles' ) )
Прелестно! Можно полностью переопределить в дочерней все подключения стилей.Юрий, а можно подробнее, как мне сделать по шагам?
В дочку закидывать все файлы не хочу.в файле functions.php написал так не помогло:
add_action('wp_enqueue_scripts', 'my_theme_styles' ); function my_theme_styles() { wp_enqueue_style('mfn-responsive-css', get_stylesheet_directory_uri() .'/css/responsive.css' ); }
- Ответ изменён 5 лет, 12 месяцев назад пользователем Egor2015.
Скопируйте функцию в functions.php вместе с условием if function_exists.
Поменяйте THEME_URI на get_template_directory_uri() там, где должны быть стили от родительской, и на get_stylesheet_directory_uri() там, где от дочерней.Скопировал все:
/* --------------------------------------------------------------------------- * Styles * --------------------------------------------------------------------------- */ if( ! function_exists( 'mfn_styles' ) ) {...........................
в functions.php дочерней.
в этом файле добавил путь /child:
// Responsive ------------------------------------------------------------- if( mfn_opts_get('responsive') ){ wp_enqueue_style( 'mfn-responsive', THEME_URI .'/child/css/responsive.css', false, THEME_VERSION ); } else { wp_enqueue_style( 'mfn-responsive-off', THEME_URI .'/css/responsive-off.css', false, THEME_VERSION ); }
что неверно делаю?
может THEME_URI нужно изменить?Все получилось так:
// Responsive ------------------------------------------------------------- if( mfn_opts_get('responsive') ){ wp_enqueue_style( 'mfn-responsive', get_stylesheet_directory_uri() .'/css/responsive.css', false, THEME_VERSION ); } else { wp_enqueue_style( 'mfn-responsive-off', THEME_URI .'/css/responsive-off.css', false, THEME_VERSION ); }
Большое спасибо всем!
может THEME_URI нужно изменить?
Может :))))))))))))
На бис:
Поменяйте THEME_URI на get_template_directory_uri() там, где должны быть стили от родительской, и на get_stylesheet_directory_uri() там, где от дочерней.
- Тема «Подключить файл стилей в дочерней теме» закрыта для новых ответов.