WordPress Одностраничный сайт (страница на первой странице) - PullRequest
0 голосов
/ 25 февраля 2019

Я создаю тему с нуля.Это одностраничный сайт, и моя 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 как раздел в моем front-page.php?

Спасибо

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

Я сделал это (в 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(); ?>

Похоже, это работает, у меня есть три раздела с моими тремя страницами и их классами.Но сейчас у меня нет контента.

Моя страница-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(); ?>
0 голосов
/ 25 февраля 2019
  1. вы можете добавить собственный класс к определенному идентификатору страницы, например:

    add_filter ('body_class', 'your_body_class');function your_body_class ($ classes) {if (is_page (xxx)) $ classes [] = 'new-class';вернуть $ классы;}

  2. вы можете использовать этот плагин Пользовательский класс тела

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...