如何在子主题中获取父主题的版本?
我想在加载父主题的样式表时使用它。
下面是我如何将样式表加载到子主题的functions.php
文件:
function sometheme_enqueue_styles() {
// Get parent theme version
$parent_theme_version = wp_get_theme()->parent()->get( \'Version\' );
// Load parent theme stylesheet
wp_enqueue_style( \'sometheme-style\', get_template_directory_uri() . \'/style.css\', array(), $parent_theme_version );
// Load child theme stylesheet
wp_enqueue_style( \'sometheme-child-style\',
get_stylesheet_directory_uri() . \'/style.css\',
array( \'sometheme-style\' ),
wp_get_theme()->get(\'Version\')
);
}
add_action( \'wp_enqueue_scripts\', \'sometheme_enqueue_styles\', 11 );
但是,这将对两个样式表使用子主题的版本。。。
我也尝试过:
$parent_theme = wp_get_theme(\'sometheme\');
$parent_theme_version = $parent_theme->get( \'Version\' );
。。。还有这个:
$parent_theme = wp_get_theme(get_template());
$parent_theme_version = $parent_theme->get( \'Version\' );
但是,父主题版本仍然从子主题获取版本。
解决方案wp_get_theme()->parent()->get( \'Version\' );
和wp_get_theme()->parent()->Version;
作品
问题是父主题正在使用$theme_version = wp_get_theme()->get( \'Version\' );
同样,这意味着它将使用子主题版本。
由于我拥有父主题,我将父主题更改为wp_get_theme(\'sometheme\')->get( \'Version\' );
所以它总是使用自己的版本。
这样,我可以使用wp_get_theme()->parent()->get( \'Version\' );
或wp_get_theme()->parent()->Version;
在子主题中。