页面模板内的内容放错了位置

时间:2016-04-13 14:33:24

标签: php wordpress wordpress-theming genesis

我的Genesis主题子项中有一个模板,该模板已分配到我的主页,其div具有我在单独的CSS文件中设置的ID。 该div包含一个文本,在CSS表格中有一个背景图像。

我有一个样式标题,通过函数连接它。 我也有一个页脚。

问题是 - 我提到的div在所有这些元素下面呈现,好像它不是创世体结构的一部分。

页眉,页脚和下方带有文字的图片。 如果我通过仪表板编辑页面,则会创建一个正确定位的新帖子。 如何在页眉和页脚之间显示图片?

主页模板的代码是:

<?php 
/*
Template Name: Homepage Template
*/

genesis();

echo "<link rel='style' type='text/css' href='styles.css' />";

get_header(); ?>


<div id="primary" class="content-area">

    <main id="main" class="site-main" role="main">


        <?php
    // Start the loop.
    while ( have_posts() ) : the_post(); ?>


    <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

        <header class="entry-header">

        </header><!-- .entry-header -->

        <div class="entry-content">

            <div id="home_slider">
                Electrical & Mechanical Engineering<br>In Nigera

            </div>

        </div><!-- .entry-content -->

    </article><!-- #post-## -->



    <?php endwhile; // End the loop. ?>

    </main><!-- .site-main -->

</div><!-- .content-area -->

<?php get_footer(); ?>

1 个答案:

答案 0 :(得分:1)

关于Genesis内容的事情是你必须使用Genesis钩子来为你的页面添加内容。这里有一个很棒的视觉指南:http://genesistutorials.com/visual-hook-guide/

在您的情况下,如果您想将div放在内容区域之前,您可以执行以下操作:

/**
 * Template Name: Homepage Template
 */

add_action('genesis_before_content', 'add_extra_content_div');
function add_extra_content_div(){
    ?>
    <div id="primary" class="content-area">
        <main id="main" class="site-main" role="main">
        <?php
        // Start the loop.
        while ( have_posts() ) : the_post(); ?>

        <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
            <header class="entry-header">
            </header><!-- .entry-header -->
            <div class="entry-content">
                <div id="home_slider">
                    Electrical & Mechanical Engineering<br>In Nigera
                </div>
            </div><!-- .entry-content -->
        </article><!-- #post-## -->
        <?php endwhile; // End the loop. ?>
        </main><!-- .site-main -->
    </div><!-- .content-area -->
?>
}

genesis();

另一点是,在Genesis中你不需要输入get_header()和get_footer(),所以你应该从模板中删除它们。

另外,确保 genesis(); 是模板中的最后一行 - 这非常重要。