Как объединить все мои страницы в одну, сохранив при этом строку меню?


В настоящее время у меня есть веб-сайт с базовой организацией: 5 разных страниц ("О нас", "проекты"... и т.д.) с типичной строкой меню.

Теперь я хотел бы объединить все страницы в одну. 1) Как я могу перенести все свои страницы на главную страницу?

Я также хотел бы сохранить (своего рода) строку меню: например, нажатие на "проекты" в строке меню приведет читателя к части проекта на главной странице. 2) Как я могу создать такое меню бар?

У меня есть (к сожалению!) ограниченные знания Wordpress и кодирования. Подробные ответы были бы очень признательны:)

Спасибо, Инес

Author: Inès Joubert, 2015-02-09

1 answers

Вы могли бы сделать это двумя способами.

1) Оставьте страницы в виде отдельных страниц на панели управления WordPress и создайте пользовательский шаблон страницы, в котором будет перечислено содержимое этих страниц. Назначьте этот пользовательский шаблон домашней странице.

2) Переместите содержимое этих страниц в редактор главной страницы.

Вариант 1:

Гораздо более чистый вариант и позволяет вернуться к отдельным страницам на более позднем этапе. Это также значительно упрощает редактирование страниц.

Настройка a пользовательский шаблон страницы, я собираюсь назвать его page-home.php , но вы можете называть это как вам угодно.

Вам нужно будет создать этот шаблон в папке вашей темы. Путь (в стандартной установке WordPress) должен быть /wp-контент/темы/ваша-тема/, где "ваша-тема" - это название вашей темы.

Примечание: Если ваша тема обновлена, вы , вероятно, потеряете этот шаблон. Чтобы предотвратить это, я бы предложил создать ребенка тема.

Вероятно, проще всего скопировать содержимое page.php и вставьте его в свой только что созданный page-home.php чтобы сохранить разметку темы. На вершине page-home.php вставьте следующее.

<?php
/*
 * Template Name: Home Page
 */
?>

Найдите цикл по умолчанию, который, скорее всего, выглядит примерно так.

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

    <!-- Loop HTML/PHP -->

<?php endwhile; endif; ?>

Теперь вы хотите заменить цикл по умолчанию следующим кодом.

<?php
    $pages = get_pages( array(
        'sort_column' => 'menu_order', // allows you to order pages using menu order under page attributes
        'exclude' => 3, // the home page ID
    ) );
?>

<?php
    foreach ( $pages as $page ) {
        $content = $page->post_content;
        if ( ! $content ) // Check for empty page
            continue;

            $content = apply_filters( 'the_content', $content );
            ?>
        <div id="page-<?php echo $page->ID; ?>">
            <?php echo $content; ?>
        </div>
        <?php
    }
?>

Как только вы сохраните этот шаблон в теме, перейдите на свою домашнюю страницу. (Если это еще не произошло существует, создайте его и перейдите на панель управления > Настройки > Чтение, измените параметр "Отображение главной страницы" на "статическая страница" и выберите только что созданную домашнюю страницу.) и выберите шаблон.

Меню опции 1

Каждый раздел будет иметь идентификатор, который выглядит следующим образом page-34, где 34 - идентификатор страницы. Если вы не знаете, как найти идентификатор страницы, посмотрите это видео.

Создайте меню, как обычно, в разделе Внешний вид > Меню. Вместо однако, вставляя страницы, используйте ссылки. Например, допустим, я хочу добавить страницу с именем Dummy с идентификатором 34. Я бы зашел в меню и переключился на раскрывающийся список Ссылок. В поле URL введите "#страница-34", а в текстовом поле ссылки введите все, что вам нравится, но мое будет "Фиктивным". Затем нажмите кнопку Добавить в меню.

Промойте и повторите для всех страниц, которые вы хотите добавить в меню. После сохранения меню у вас должно быть стандартное меню WordPress, где каждый пункт меню ссылается на соответствующий раздел.

Вариант 2:

Отредактируйте домашнюю страницу и переключитесь в текстовое представление редактора WYSIWYG.

Для каждой "страницы" добавьте div с уникальным идентификатором, подобным этому.

<div id="page-about">
    <!-- about page content here -->
</div>

Вставьте содержимое страницы между этими тегами div. Повторите для каждой страницы, которую вы хотите добавить на домашнюю страницу. Например:

<div id="page-contact">
    <!-- contact page content here -->
</div>

Меню варианта 2

Создайте меню, как обычно, в разделе Внешний вид > Меню. Однако вместо вставки страниц используйте ссылки. Для ссылки на в раздел страницы "О программе" вы бы добавили новую ссылку с URL-адресом "#страница-о программе". Для ссылки на раздел страницы контактов добавьте новую ссылку с URL-адресом "#страница-контакт". Промойте повторите для всех остальных страниц.

 2
Author: Duane, 2015-02-09 17:01:09