Задать вопрос
@MidNightElf_1_10
неуверенный в себе фронтендер который хочет в бэк

Как правильно подключить часть (шаблон) в index.php wordpress?

Решение проблемы: часть 1

Есть сайт на вордпрессе на хосте, создал новую тему и залил eё на хост в папку с темами, в админовской панели активировал созданную тему и при переходе на сайт показывает такое:5e8bcdaaf0e7a797692005.png

Писал чтобы было так:
Код index.php темы:
5e8bcdb77c5a8977170831.png
<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
    <meta charset="UTF-8">
    <!-- <meta name="viewport" content="width=device-width, initial-scale=1.0"> -->
    <title>Тюльпан Трэвэл</title>
</head>
<body>
    <?php get_header(); ?>
    <?php 
        require_once(get_template_directory_uri() . "/template-parts/hadjj-slider.php");
        require_once(get_template_directory_uri() . "/template-parts/whatneed.php");
        require_once(get_template_directory_uri() . "/template-parts/visa.php");
        require_once(get_template_directory_uri() . "/template-parts/about.php");
        require_once(get_template_directory_uri() . "/template-parts/videoMap-sliders.php"); 
        require_once(get_template_directory_uri() . "/template-parts/reviews.php");
        require_once(get_template_directory_uri() . "/template-parts/tours.php");
    ?>
    <?php get_footer(); ?>
</body>
</html>

Папка template-parts введите сюда описание изображения
Т.е. получилось так будто я писал get_header() и get_footer(), а все require_once() не сработали, не могу понять почему

P.S. Вывод get_template_directory_uri() - https://tulpantravel.ru/wp-content/themes/tulpan_l...
P.S.S. Все папки и файлы в теме имеют атрибут 700
P.S.S.S. Или можете подсказать есть ли какой нибудь лог выполнения php на хостинге чтобы можно было посмотреть ошибки

Решение проблемы: часть 2
Применив на практике советы, ответ и гуглинг. Я создал в папке темы новую папку partials и переместил туда все файлы. После этого вызвал эти файлы в index.php
<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
    <meta charset="UTF-8">
    <!-- <meta name="viewport" content="width=device-width, initial-scale=1.0"> -->
    <title>Тюльпан Трэвэл</title>
</head>
<body>
    <?php get_header(); ?>
    <?php 
        get_template_part("partials/hadjj-slider");
        get_template_part("partials/whatneed");
        get_template_part("partials/visa");
        get_template_part("partials/about");
        get_template_part("partials/videoMap-sliders");
        get_template_part("partials/reviews");
        get_template_part("partials/tours");
    ?>
    <?php get_footer(); ?>
</body>
</html>

Но результат оставался прежним(на странице только get_header() и get_footer())
Супер интересная штука
Мне в голову пришла одна "извращенская мысль" вставить код из шаблонов прямо в index.php, но такое то же не дало никаких результатов, вот 5e8bce7031855116256986.png Тот код с шаблона вообще не отображается на странице или в инспекторе, хотя я его вставил прямо в index.php

P.S. Или можете подсказать есть ли какой нибудь лог выполнения php на хостинге чтобы можно было посмотреть ошибки
  • Вопрос задан
  • 701 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 1
@KingAnton
Может у вас главной выбрана home.php или front-page.php, поэтому код из index.php и не выводит.
Замените body на <body <?php body_class(); ?>> и посмотрите, какой класс шаблона будет там.
И в настройках чтения проверьте какие опции для главной у вас выбраны (последние записи или статичная страница)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы