我们最近已将Wordpress电子商务网站(woocommerce)从旧的/宽松的自定义主题迁移到了Avada。
我们可以轻松地在Fusion Builder中重建所有内容(页面和产品), 并且使用自定义CSS进行调整非常简单。
但是有一些松散的线程, 其中一个使我完全陷入困境。
有一个WooCommerce元素正在某处进行样式设置。
.product .entry-summary div .price {}
我无法覆盖它(尝试过!重要), 而且似乎找不到该规则的原始编写位置。
就是说, 当我使用浏览器工具进行检查时, 在
” … / wp-content / uploads / avada-styles / avada-1069.css”。
当我打开CSS时, 文档顶部有一个完整的块, 上面写着:
” / *********已编译-不要编辑********* /”
该目录中有许多” Avada-###。css”文件。
他们似乎都有一些已编译的规则。
那是从哪里编译的?
在哪里可以找到要正确编辑的源文件?
我已经两次尝试联系主题融合支持部门(Avada主题的作者), 但没有收到任何回复。
已经好几个星期了, 所以现在我很绝望。
#1
/avada-1069.css文件是源。
/ ***已编译-不要编辑*** /会让你知道tho文件是主题核心的一部分。 Avast更新时, 对它的更改可能会被覆盖, 并且可能会破坏功能。
如果你需要进行主题的”自定义CSS”字段不支持的更改, 请创建一个基本的子主题。样板函数.php和styles.css代码已足够:
function my_theme_enqueue_styles() {
$parent_style = 'parent-style';
wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array( $parent_style ), wp_get_theme()->get('Version')
);
}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
?>
和
/*
Theme Name: Avast Child
Theme URI: http://example.com/avast-child/
Description: My First Child Theme :)
Author: John Doe
Author URI: http://example.com
Template: avast
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: whatever, blah
Text Domain: avast-child
*/
.product .entry-summary div .price{ ... }
子主题CSS表单中的语句将覆盖父主题中的语句。主题更新后, 你的孩子将保持不变并继续做它的工作。
在此之前, 你可能会受益于查看CSS特殊性的细节。它分解了覆盖层次结构。你也可以发布规则的代码以及供人们查看的源规则。
#2
好像主题是动态生成样式表, 因此直接编辑将不是一个选择(因为它们无论如何都会改变)。
我不确定所有动态样式表都将加载什么, 但是WordPress的方式将是首先使用子主题, 然后:
将替代样式添加到子主题的style.css和/或,
完全从子主题的functions.php文件中注销父主题的样式表, 并在子主题style.css中使用自己的样式:
(其中avada-dynamic-css是主题注册的句柄)
function yourname_unhook_parent_style() {
wp_dequeue_style( 'avada-dynamic-css' );
wp_deregister_style( 'avada-dynamic-css' );
}
add_action( 'wp_enqueue_scripts', 'yourname_unhook_parent_style', 20 );