Как объединить все мои страницы в одну, сохранив при этом строку меню?
В настоящее время у меня есть веб-сайт с базовой организацией: 5 разных страниц ("О нас", "проекты"... и т.д.) с типичной строкой меню.
Теперь я хотел бы объединить все страницы в одну. 1) Как я могу перенести все свои страницы на главную страницу?
Я также хотел бы сохранить (своего рода) строку меню: например, нажатие на "проекты" в строке меню приведет читателя к части проекта на главной странице. 2) Как я могу создать такое меню бар?
У меня есть (к сожалению!) ограниченные знания Wordpress и кодирования. Подробные ответы были бы очень признательны:)
Спасибо, Инес
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-адресом "#страница-контакт". Промойте повторите для всех остальных страниц.