无法重写子主题中的footer.php

时间:2017-02-07 作者:treisto

我很难超越我父母的主题footer.php, footer-set.phpfooter-tag.php 来自我的孩子主题。

我刚刚尝试复制粘贴并修改它们。没有成功。也许他们正在阅读,但很可能稍后,来自家长的内容占了上风。

我还试图从functions.php 在《没有运气的孩子》主题中:

<?php
function my_theme_enqueue_styles() {

    $parent_style = \'parent-style\'; // This is \'twentyfifteen-style\' for the Twenty Fifteen theme.

    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\')
    );
    require_once get_stylesheet_directory() . \'/footer.php\';
    require_once get_stylesheet_directory() . \'/footer-set.php\';
    require_once get_stylesheet_directory() . \'/footer-tag.php\';

    /*include( get_stylesheet_directory() . \'../footer.php\' ); 
    include( get_stylesheet_directory() . \'../footer-set.php\' ); 
    include( get_stylesheet_directory() . \'../footer-tag.php\' ); */
}
add_action( \'wp_enqueue_scripts\', \'my_theme_enqueue_styles\' );
?>
子主题是活动的,并且有效。我知道这是因为风格。css工作-它有效果。如果我在函数中写入了错误的内容。php的子文件夹中,它会抛出一个错误。所以它解析函数。php fom子主题。

我想我必须注销footer.php 不知怎么的,但我不知道去哪里,怎么去。

这是我父母的主题结构,这3个是我试图覆盖的文件。

enter image description here

这就是我在儿童主题中添加的内容:

enter image description here

作为更多的信息,如果它将是有用的,这是如何页脚。php看起来像:

<?php if ( tt_is_sidebar_active(\'footer_widget_area\') ) { ?>
<section id="footer-widgets" class="clear">     
    <ul class="content-block xoxo">

        <?php dynamic_sidebar(\'footer_widget_area\'); ?>

    </ul>
</section>
<?php } ?>
</section>
<?php global $template_url;?>
    <footer id="footer">
        <section class="content-block" style="margin-bottom:0;">
            <p class="copyright left">&copy; <?php echo date(\'Y\');?> Queen Latifah Weight Loss</a>
             | Theme By <a href="http://allinonetheme.com" title="All In One Theme" rel="nofollow">All In One Theme</a></p>
            <ul id="footer-nav" class="right">
                <li><a href="<?php bloginfo(\'url\');?>" title="Visit HomePage">Home</a></li>
                    <?php //About Us Page
                    $footer_item = get_option(\'tt_footer_about\');
                    if($footer_item && $footer_item != \'\' && is_numeric($footer_item)) { 
                    $page = get_page($footer_item);
                    ?>
                    <li><a href="<?php echo get_permalink($footer_item);?>" title="<?php echo $page->post_title; ?>">About</a></li>
                    <?php
                    }
                    unset($footer_item); unset($page);
                    ?>
                    <?php //Terms Of Service Page
                    $footer_item = get_option(\'tt_footer_tos\');
                    if($footer_item && $footer_item != \'\' && is_numeric($footer_item)) { 
                    $page = get_page($footer_item);
                    ?>
                    <li><a href="<?php echo get_permalink($footer_item);?>" title="<?php echo $page->post_title; ?>" rel="nofollow">Terms Of Service</a></li>
                    <?php
                    }
                    unset($footer_item); unset($page);
                    ?>
                    <?php //Privacy Policy Page
                    $footer_item = get_option(\'tt_footer_privacy\');
                    if($footer_item && $footer_item != \'\' && is_numeric($footer_item)) { 
                    $page = get_page($footer_item);
                    ?>
                    <li><a href="<?php echo get_permalink($footer_item);?>" title="<?php echo $page->post_title; ?>" rel="nofollow">Privacy Policy</a></li>
                    <?php
                    }
                    unset($footer_item); unset($page);
                    ?>
                    <?php //Contact Us Page
                    $footer_item = get_option(\'tt_footer_contact\');
                    if($footer_item && $footer_item != \'\' && is_numeric($footer_item)) { 
                    $page = get_page($footer_item);
                    ?>
                    <li><a href="<?php echo get_permalink($footer_item);?>" title="<?php echo $page->post_title; ?>" rel="nofollow">Contact</a></li>
                    <?php
                    }
                    unset($footer_item); unset($page);
                    ?>              <li><a href="http://www.queenlatifahweightloss.com/resources/" title="Resources" rel="nofollow">Resources</a></li>
            </ul>

        </section>
    </footer>
    <?php wp_footer();?>
</body>
</html>
我在函数中也有这个。php:

//Get Theme Specific Footer
function tt_get_footer() {

    $footer = get_option(\'tt_footer_layout\');

    if($footer == \'tag\') {

        include(\'footer-tag.php\');

    } else if ($footer == \'set\') {

        include(\'footer-set.php\');

    } else if ($footer == \'custom\' || $footer == \'no\') {

        include(\'footer.php\');
    } 
}
在索引末尾。php我有:

<?php tt_get_footer(); ?>

4 个回复
SO网友:Trac Nguyen

朋友,看看他们的抄本https://codex.wordpress.org/Function_Reference/get_footer 你会知道怎么做的。在您的情况下,无需添加这些

require_once get_stylesheet_directory() . \'/footer.php\';
require_once get_stylesheet_directory() . \'/footer-set.php\';
require_once get_stylesheet_directory() . \'/footer-tag.php\';
您只需修复tt_get_footer 像这样

//Get Theme Specific Footer
function tt_get_footer() {

    $footer = get_option(\'tt_footer_layout\');

    if($footer == \'tag\') {

        get_footer(\'tag\');

    } else if ($footer == \'set\') {

        get_footer(\'set\');

    } else {

        get_footer(); // This one will use footer.php
    } 
}
然后,您将覆盖子主题页脚

SO网友:Tom Withers

快速将此视为工作。。。

但添加:

<?php get_footer(); ?>
在模板文件中(应该有……您可能还需要调用footer-set.php和footer-tag.php文件)

您不需要:

require_once get_stylesheet_directory() . \'/footer.php\';
require_once get_stylesheet_directory() . \'/footer-set.php\';
require_once get_stylesheet_directory() . \'/footer-tag.php\';
在您的Functions.php

如果这是不正确的,我回家后会帮忙的

SO网友:Umer Shoukat

首先,您不需要在内部调用页脚文件functions.php 文件因此,请先删除这些行。

require_once get_stylesheet_directory() . \'/footer.php\';
require_once get_stylesheet_directory() . \'/footer-set.php\';
require_once get_stylesheet_directory() . \'/footer-tag.php\';
正如您所说,您的子主题工作正常,所以让我们来调试为什么要使用页脚。php文件不工作。我不知道你在哪里打电话footer-set.phpfooter-tag.php 我想你需要他们在里面footer.php 文件为了进行调试,请暂时删除旧文件并创建名为的新文件footer.php 并将其留空,仅关闭bodyhtml 标签将在那里。那么前端的页脚应该是空的试试这些步骤,然后让我知道发生了什么。

SO网友:Mark Kaplun

在本例中,主题似乎没有使用wordpress“主题无关”模板加载APIget_footer, 或者任何其他灵活的方式,这意味着页脚不能被子主题更改。

相关推荐

Child-theme breaks site

所以,我有一个子主题,里面除了所需的CSS文件之外什么都没有。一旦我激活了这个儿童主题,我的整个网站就关闭了。最后我有两个问题:激活一个只有CSS的子主题怎么能破坏我的网站</我怎样才能回到我原来的主题</这些是网站给我的错误:Warning: require_once(/wp-content/themes/interio_child/admin/options-framework.php) [function.require-once]: 无法打开流:中没有此类文件或目录/wp-c