如何使用单独的样式将页面模板引入新主题?

时间:2019-09-20 作者:jesstp

我目前有一个页面模板,我已经将一个主题(二十九个孩子)中的所有主要样式条带化。

我有一个新的子主题(事件),该页面/模板将位于该主题下,并且很难将其合并。有太多的帖子说了不同的话,我感到困惑,多次崩溃了我的UAT。

该页面将与站点分开放置,并且(此时)不会有它将放置的较大站点的页眉或页脚。下面是部分工作的代码。

<?php /* Template Name: My template */ ?>
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
    <meta charset="<?php bloginfo( \'charset\' ); ?>">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <?php wp_head(); ?>
    <?php function mypage_head() {
    echo \'<link rel="stylesheet" type="text/css" href="\'.get_bloginfo(\'stylesheet_directory\').\'/css/style.css">\'."\\n";
}
add_action(\'wp_head\', \'mypage_head\');
?>
</head>
<body class="page-template-connect-home-placeholder">
如果我想让页面模板的样式与网站的其他部分完全不同,我应该这样做吗?

编辑:在尝试了很多事情之后,我刚刚引用了模板中的其他主题样式。这可能不是最好的方法,但确实有效。我用了<link rel="stylesheet" href=""> 并删除了<?php wp_head(); ?> 标签我需要更新其他部分中的样式,因为它被抛出了一点,但可以很好地使用其他主题。

1 个回复
SO网友:CRavon

问题是您的主题仍然加载主样式。css工作表,因为它由wp_head(). 看见the documentation here

因此,为了不加载主题主样式表,您必须将functions.php 文件:

add_action( \'wp_enqueue_scripts\', \'yolo_my_custom_template\' );
function yolo_my_custom_template(){
    if ( is_page_template( \'name_of_your_page_template.php\' ) ) :
      wp_deregister_script(\'twentynineteen-style\');
      wp_deregister_script(\'twentynineteen-print-style\');
    endif;
}