如何从PowerMag主题创建子主题

时间:2018-11-19 作者:Empire Hive

我使用PowerMag 2.5作为家长,似乎找不到一种方法来获得工作儿童主题。就我现在而言,我只能在样式中扩展css。css,但就覆盖而言,没有任何效果。复制时,例如页眉。php从父到子,并对不起作用的代码进行一些编辑。非常大的功能。来自父主题的php让我不知所措,我不知道如何让它工作。

child > style.css

/*
Theme Name:   PowerMag Child
Theme URI:    https://themeforest.net/item/powermag-the-most-muscular-magazinereviews-theme/4740939
Description:  PowerMag Child Theme
Author:       djwd
Author URI:   http://themeforest.net/user/djwd
Template:     powermag
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Tags:         dark,light,three-columns,two-columns,left-sidebar,right-sidebar,featured-image-header,featured-images,full-width-template,rtl-language-support,sticky-post,theme-options,threaded-comments,translation-ready,post-formats,custom-menu,custom-background,flexible-width
Text Domain:  powermag-child
*/

child > functions.php

<?php
// Exit if accessed directly
if ( !defined( \'ABSPATH\' ) ) exit;

add_action( \'wp_enqueue_scripts\', \'enqueue_parent_styles\' );
function enqueue_parent_styles() {
wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/style.css\' );
}

parent > functions.php

文件太大了,我上传了here

3 个回复
SO网友:SHEESHRAM

只需创建一个名为PowerMag child的文件夹

放置样式。带有以下文本的css

/*
Theme Name:   PowerMag Child
Theme URI:    https://themeforest.net/item/powermag-the-most-muscular- magazinereviews-theme/4740939
Description:  PowerMag Child Theme
Author:       djwd
Author URI:   http://themeforest.net/user/djwd
Template:     powermag
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  powermag-child
*/
功能。php与以下代码无关

<?php

SO网友:butlerblog

根据您的描述以及评论中的补充说明,我怀疑问题在于所涉及的各种样式表的加载顺序。我建议您在浏览器中通过“查看源代码”查看标题,以查看加载所有内容时样式表的顺序。

Check load order and adjust enqueueing priority

稍后加载的样式表将覆盖早期样式表中的样式。因此,如果您有来自父级的样式表,这些样式表是在子主题的样式之后加载的。css,这些稍后的样式表属性将被应用。

通常,子样式表应该在函数中的任何排队样式之后加载。子级和父级的php。但如果这没有发生,您可能需要做出相应的调整。

您可以做的一件事是在子主题文件夹中添加一个样式表,以包含覆盖样式(与子主题stlyesheet分离),然后使用wp_enqueue_style(). 将其挂到wp_enqueue_scripts 操作并将优先级设置为稍后(如99或100)。查看父功能。php表示排队的样式以默认优先级(即10)排队,因此设置此更高的优先级应该比从父级加载排队的样式更晚加载自定义样式。

这可能需要一些调整,但查看加载内容以及何时在浏览器的“查看源”中应该可以帮助您按正确的顺序进行操作。

What if everything is in the right order and I still can\'t override?

确保您试图覆盖的样式实际上在您认为它们所在的样式表中。使用浏览器检查器查看样式,它会告诉您该样式的源样式表是什么。

此外,使用浏览器检查器应该告诉您开发人员是否使用了!important CSS规范。我个人讨厌他们这样做——这是一种糟糕的做法,通常是因为懒惰,因为他们无法找出正确的方法来应用属性。问题是,简单地定义一个新属性就会被忽略。在这种情况下,您需要稍后加载CSS,并指定!important 以替代第一个。您可能还需要将特定属性设置为initial 完全重置。

希望这能帮助您找到问题所在。

SO网友:Jignesh Patel

请在子函数中用此代码替换您的代码。php文件。我认为存在一些优先权或依赖性问题。For More info

<?php
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\' );
?>

结束

相关推荐

对WooCommerce的Functions.php更改不起作用

我正在尝试将其添加到函数中。php。在我的另一个站点上的测试实验室中,它可以很好地添加测试信息。但在这个网站上,我试图把它添加到什么都没有发生的情况下。该网站正在使用最新的woocommerce运行一个建筑节俭主题。有什么想法吗?我基本上只是想在每个产品页面上添加一行类似于免责声明但无法添加的文本。add_action(\'woocommerce_before_add_to_cart_form\',\'print_something_below_short_description\');