WordPress一页网站(首页上的页面)

时间:2019-02-25 13:14:59

标签: php wordpress

我正在从头开始设计主题。这是一个一页网站,我的CMS是WordPress。 我的文件夹结构是:

  • front-page.php
  • page-about.php
  • page-work.php
  • page-contact.php

我可以在front-page.php上将我的所有页面显示为部分,但是我丢失了所有自定义类(和特定样式)。这是我的front-page.php中的循环:

<?php get_header(); ?>

<?php query_posts('post_type=page&order=ASC'); ?>

<?php 

if (have_posts()): 

    while (have_posts()) : the_post(); ?>

        <section id="page-<?php the_ID(); ?>">

            <div class="container">

                <h2><?php the_title(); ?></h2>

                <article>

                    <p><?php the_content(); ?></p>

                </article>

            </div>

        </section>

    <?php endwhile; 

endif; ?>   

<?php get_footer(); ?>

如何将page-xxx.php的样式(因此,它们的类/ id)保留在front-page.php中?

谢谢

2 个答案:

答案 0 :(得分:0)

  1. 您可以将自定义类添加到特定的页面ID,例如:

    add_filter('body_class','your_body_class'); 函数your_body_class($ classes){     如果(is_page(xxx))         $ classes [] ='new-class';     返回$ classs; }

  2. 您可以使用此插件Custom Body Class

答案 1 :(得分:0)

我做到了(在front-page.php中):

<?php get_header(); ?>

<?php

    $args = array(
        'post_type'              => 'page',
        'order'                  => 'ASC'
    );

    $query = new WP_Query($args);


    if ($query->have_posts()) {
        while ( $query->have_posts()) {

            $query->the_post();
            $tn = get_page_template_slug($post_id);
            $word = array("page-", ".php",' ');
            $template = str_replace($word,'',$tn);

            get_template_part('page', $template);
        }
    }

?>  

<?php get_footer(); ?>

看起来很有效,我的三个页面及其班级共分为三个部分。但是现在,我没有任何内容。

我的page-about.php:

<?php get_header(); 

/* Template Name: About */ ?>

<section id="about" class="section section-about">

    <div class="container">

        <h2 class="title-2"><?php the_title(); ?></h2>

        <div class="col-md-6 col-lg-12"></div>

        <article class="article-about">

            <?php

            if (have_posts()):

                while (have_posts()): the_post(); ?>    

                <p><?php the_content(); ?></p>

                <?php endwhile;

            endif;

            ?>

        </article>

    </div>

</section>

<?php get_footer(); ?>