Главная страница НЕ в стиле темы.

Здравствуйте, уважаемые участники форума!

Инструменты: WP 2.3.3. с http://lecactus.ru/2008/02/05/1665/
Тема K2 (RC7 b.721) для WordPress с http://lecactus.ru/2007/10/13/876/
Стиль К2 Dueling Sidebars
Тестируется на localhost (Денвер).
С этим набором вполне можно делать сайт в задуманном функционале, но есть одна проблема.
Хотелось бы, чтобы главная страница сайта была не в стиле темы (с шапкой, колонками с их автоматическим наполнением и меню, футером), а представляла собой некую презентационную страницу. Т.е., это страница с чистым html с внутренним стилем, на которой присутствуют текстовая информация с элементами художественного оформления и ссылки на внутренние страницы и рубрики сайта, действующие уже в рамках темы, но сохраняющие в своём дизайне стиль главной страницы (в шапке, оформлении ссылок и т.д.).
Пытаясь решить эту проблему, попытался оттолкнуться от двух постулатов:
1. «…когда WordPress начинает формировать страницу, то первым делом он выполняет файл шаблона "/-home.php-/" и, если такого нет, то выполняется файл "/-index.php-/" (всё в каталоге текущей темы)» (http://maxsite.org/page/ras05#cut) и там же далее (в полном соответствии с http://codex.wordpress.org/) «…последовательность выбора файлов WordPress’ом при отображении различных видов страниц сайта:
/-Основная (главная) страница сайта-/:
**home.php
**index.php
».

2. «Если в файле .php не указана ни одной php-инструкции, то этот файл будет обработан как обычный html-файл.» – http://maxsite.org/page/ras09#cut.

Не кидайтесь табуретками, но, учитывая то, что в каталоге темы К2 отсутствует файл home.php, я подумал (похоже наивно), что создав его в виде чистого html я проблему решу. Т.е., при запросе http://sait.ru WP ищет подходящие файлы, натыкается на первоочередной home.php и выдаёт его браузеру на исполнение в том виде, в каком он написан – как страницу html.
Я так и сделал, поместив свой тестовый html-левский home.php в каталог темы, но ничего не получилось – главная страница отображается, как и раньше, в стиле К2.

Рассчитываю, что мне подскажут:

  • есть ли здравое зерно в том, как я пытался решить задачу;
  • если нет, то как её можно решить?

Заранее благодарен.

Створіть index.html в корневому каталозі сайту із бажаним хтмл-кодом. По ідеї index.html має переваги над index.php. Тобто якщо є index.html, то він запускається першим. Якщо це не так – змініть приорітет на хостінгу (якщо не ознайомлені із тим як це робити зверніться до супорта хостера). Я колись особисто так робив і для вордпреса і для джумла.

Т.е., Вы советуете сохранить файл как index.html и поместить его в папку www сайта, до темы? Я думал о нечто подобном, но, мне кажется, что переход по ссылке с главной страницы на внутреннюю внутри темы будет долгим. Хотя, возможно придётся пробовать так. Просто хочется сразу войти в тему и мне не совсем понятно, как при таком раскладе будут индексироваться главная и внутренние страницы сайта поисковиками.
За совет спасибо.

Т.е., при запросе http://sait.ru WP ищет подходящие файлы, натыкается на первоочередной home.php и выдаёт его браузеру

Так и есть. Все должно работать без каких-либо дополнительных танцев с бубном. В принципе оно и работает. Возможно этот способ еще на работал в версии WP 2.3.3. Попробуйте взять, что-либо по-новее.

По совету gurvinyk сделал файл home.html, поместил его сначала в папку www, затем в папку К2. К сожалению результата не дало.

[quote=neofit]Т.е., при запросе http://sait.ru WP ищет подходящие файлы, натыкается на первоочередной home.php и выдаёт его браузеру

Так и есть. Все должно работать без каких-либо дополнительных танцев с бубном. В принципе оно и работает. Возможно этот способ еще на работал в версии WP 2.3.3. Попробуйте взять, что-либо по-новее.[/quote]
Спасибо за подключение. Жаль, если это так. Я выбирал 2.3.3. из веских, как мне кажется, соображений:(.

По совету gurvinyk сделал файл home.html

Вообще-то он не советовал Вам делать так… Впрочем, его совет неважный. Да и вообще — глупость так поступать: использовать движок для создания и управления сайтом, но в тоже время страницу редактировать вручную — разве это умно? Вы теряете гибкость и лишаете себя возможностей движка.

Еще вариант. Если умеете верстать, то почитайте в сети материалы по созданию тем. Сделайте для index.php индивидуальный стиль. Если я правильно Вас понял то он у Вас уже есть. Теперь протсо порежьте его на header.php, footer.php, sidebar.php и index.php. Как это сделать — смотрите в материалах по созданию тем в WP.

Вы теряете гибкость и лишаете себя возможностей движка.

Еще вариант. Если умеете верстать, то почитайте в сети материалы по созданию тем. Сделайте для index.php индивидуальный стиль. Если я правильно Вас понял то он у Вас уже есть. Теперь протсо порежьте его на header.php, footer.php, sidebar.php и index.php. Как это сделать — смотрите в материалах по созданию тем в WP.

Возможно, я сделал не так, как советовал gurvinyk, хотя я не совсем понял – что не так? Разве что файл назвал не index.html, а home.html. В любом случае, я попробовал, т.к. сам думал в эту сторону как о возможном, но не понятном мне до конца варианте. С Вашей оценкой этого согласен. Больше того, думаю, что назначение в теме некой главной страницы и последующее включение другой главной страницы сайта через его корень, чревато каким-то конфликтом.
Что касается второй, тоже конструктивной части Вашего поста, то мне как раз хотелось воспользоваться какой-то хорошей основой в виде подходящей по функционалу и последующему управлению темы. Я не совсем готов делать динамический сайт с 0.
И ещё: разве могут быть постулаты (как я их назвал) привилегией более современных, чем 2.3.3 версий? Разве это не общий для WP порядок формирования страниц?
Кстати, не подскажите, как тут делают короткие цитаты постов?

Я не совсем готов делать динамический сайт с 0

Речь о теме, а не сайте. Не волнуйтесь — это намного проще. Гуглите «создание темы для WordPress» и читайте.

Но перед этим создайте файл с именем home.php и с текстом <?php phpinfo(); ?>. Скопируйте его в папку с Вашей темой, а также в папку с темой Default. Зайдите на сайт. Что видите? Переключите Вашу тему на Default. Что видите?

Пока Вы это проделываете, я гляну как там на движке 2.3.3 работает home.php — может иерархия тем подобным образом давно реализована, а это у Вас, что-то сломалось.

ляну как там на движке 2.3.3 работает home.php — может иерархия тем подобным образом давно реализована, а это у Вас, что-то сломалось.

Проверил на движке 2.3.3 — работает без проблем.

Возвращаемся к началу. Скопируйте home.php в папку Default и переключитесь на эту тему. Видите первую страницу в виде home.php?

В вашем случае, WordPress будет искать файл home.php в каталоге шаблона. Скорее всего ошиблись в имени.

создайте файл с именем home.php и с текстом <?php phpinfo(); ?>. Скопируйте его в папку с Вашей темой, а также в папку с темой Default. Зайдите на сайт. Что видите? Переключите Вашу тему на Default. Что видите?

Изменил home.php с html-содержания на текст <?php phpinfo(); ?> в папке темы К2 и вставил его же в папку темы Default. При обновлении – обычная тема К2 и обычная страница Default с назначенным мною оглавлением "Презентация сайта".

В вашем случае, WordPress будет искать файл home.php в каталоге шаблона. Скорее всего ошиблись в имени.

Здравствуйте МАХ, спасибо за подключение.
Если можно подробнее – где Вы предполагаете ошибку? В какой папке его будут искать – К2?

При обновлении - обычная тема К2 и обычная страница Default

В «настройках чтения» — yoursite.tld/wp-admin/options-reading.php должен быть отмечен пункт «Ваши последние записи». У Вас так?

Если нет — отключите все плагины. Проверьте снова. Если не помогло, то покажите здесь свой wp-config.php и .htaccess

В «настройках чтения» — yoursite.tld/wp-admin/options-reading.php должен быть отмечен пункт «Ваши последние записи». У Вас так?

В настройках чтения стояло "Постоянная страница". Переключил на «Ваши последние записи», оставив прежнюю главную страницу как постоянную. Обновил – открылась простыня со всей подноготной, в которой я мало что понимаю, начинающаяся с "PHP Version 5.2.12".

Поздравляю. Открылся home.php. Теперь можете редактировать его руководствуясь сведениями из Кодекса (и др. подобных описаний) — «Создание тем».

Поздравляю. Открылся home.php. Теперь можете редактировать его руководствуясь сведениями из Кодекса (и др. подобных описаний) — «Создание тем».

Спасибо за поздравление с открытием home.php, хотя я ещё не осознал как мне повезло. Отдельное спасибо за участие и помощь.
Если Вы ещё здесь:
– правильно ли я понимаю, что home.php открылся в рамках включённой темы К2?
– или предполагается, что "редактирование" подразумевает уход и отказ от неё?
Пока я не прошёл через мануал, просто обрисуйте горизонты, если можно.

Зависит от того какая темя была активирована. Но ответ, в любом случае — «да» — теперь у Вас home.php работает. Активируйте любимую тему и верстайте необходимый home.php

Зависит от того какая темя была активирована. Но ответ, в любом случае — «да» — теперь у Вас home.php работает. Активируйте любимую тему и верстайте необходимый home.php

Спасибо. Не смею злоупотреблять Вашим вниманием. После Вашего ответа прихожу к мнению, что тестовый home.php из html, который я делал, выполнен мной некорректно. Если так, то дело поправимо. С Кодексом буду работать.
До свидания. Спасибо.

После Вашего ответа прихожу к мнению, что тестовый home.php из html, который я делал, выполнен мной некорректно

Не правильный вывод. Ваш файл может быть корректным, а может и не быть. Но первопричина была в другом — некорректных настройках чтения в админ-панели.

[quote=neofit]После Вашего ответа прихожу к мнению, что тестовый home.php из html, который я делал, выполнен мной некорректно

Не правильный вывод. Ваш файл может быть корректным, а может и не быть. Но первопричина была в другом — некорректных настройках чтения в админ-панели.[/quote]
Вот так да! Я искренне считал, что в настройках в пункте "На главной странице отображается:", если вы предполагаете главной иметь статичную страницу, должно быть активным окно "Постоянная страница", а не "Последние записи", относящиеся к post, а не к page.
Век живи, век учись. Хотя – какой там век:/…
Ещё раз – огромное Вам спасибо.

Для тех, кто интересовался темой:

задача принципиально решена. Введение в пакет шаблона темы файла home.php (при его отсутствии) позволяет организовать страницу сайта вне стиля темы.
Эта страница:
– изначально не связана с другими страницами сайта/блога, но ничто не мешает их залинковать самому;
– будет открываться первой при наборе в браузере доменного адреса (типа http://mysait.ru), значит для поисковиков это будет главная страница вашего сайта, что стоит иметь ввиду;
– не получит автоматическую ссылку в шапке и сайдбарах темы;
– не будет значится в перечне страниц в админке и её нельзя редактировать как типовую страницу темы. Однако это можно делать через редактор тем админпанели (там в перечне появится и будет, естественно, открываться файл home.php) и, конечно, с помощью внешнего текстового редактора;
– изначально не будет связана со стилевыми файлами темы. Она может полностью иметь свой внутренний стиль, а может пользоваться style.css темы, если поставить на неё линк;
– в целом будет нуждаться (при необходимости) в отдельном подключении к функциям и сервисам темы, в т.ч. к плагинам (это я пока не проверял, но думаю, что это так).
Что касается меня, то всё вышеперечисленное меня совершенно устраивает.
Уважаемые Мастера, коих немало на этом славном форуме, – поправьте меня, пожалуйста, если я что-то написал неверно. Жаль, если кто-то будет введён в заблуждение.
И, ещё раз, спасибо:
МАХу, на сайте которого я нахожу много полезного для себя, что помогло мне и в решении этой задачи;
Help Deskу, без активной помощи которого я бы надолго застрял, а может вообще отказался бы от этого решения
– и, пользуясь случаем, Lecactusу, локализации которого я использую.

neofit, похоже Вы совсем не программист 🙂

Введение в пакет шаблона темы файла home.php (при его отсутствии) позволяет организовать страницу сайта вне стиля темы.

Ключевое слово — позволяет. Т.к. это не было основной целью. Прочитайте Иерархию шаблонов. Вкратце так: максимальный приоритет у index.php. Если нет home.php — wp покжет index.php, если нет single.php — wp покажет index.php, если нет archive.php — wp покажет index.php и т.д. Т.е. в теме может отсутствовать любой основной файл, кроме index.php (файлы header.php, footer,php, sidebar.php — будем считать дополнительными). Присутствие других файлов (home.php, single.php, archive.php…) заменяет поведение index.php. Оформление — вторично.

- изначально не связана с другими страницами сайта/блога, но ничто не мешает их залинковать самому;

Будет или не будет связана — зависит от автора темы. Именно это Вы сами и подтверждаете говоря «но ничто не мешает их залинковать самому».

- будет открываться первой при наборе в браузере доменного адреса (типа http://mysait.ru), значит для поисковиков это будет главная страница вашего сайта, что стоит иметь ввиду;

Разве для кого-то это не было очевидным?

- не получит автоматическую ссылку в шапке и сайдбарах темы;

Зависит от автора темы.

- не будет значится в перечне страниц в админке и её нельзя редактировать как типовую страницу темы. Однако это можно делать через редактор тем админпанели (там в перечне появится и будет, естественно, открываться файл home.php) и, конечно, с помощью внешнего текстового редактора;

В текстовом редакторе и не должна появляться. Ведь это на самом деле и Страница, и Запись, и Архив, и Поиск…

Блин! neofit, кажется я понял: Вы пребываете в глубоком заблуждении, считая, что в редакторе Вы работаете с конкретными файлами темы. Так вот — ничего подобного! Редактором Вы отправляете текст (данные) в базу MySQL. Движок WP нужен Вам для того, что удобно работать с этими данными: извлекать, преобразовывать, отправлять… А файлы темы формируют вывод полученных данных и оформляют их.

Подумайте над последним абзацем, а особенно над последним предложением.

Вкратце так: максимальный приоритет у index.php. Если нет home.php — wp покжет index.php, если нет single.php — wp покажет index.php, если нет archive.php — wp покажет index.php и т.д. Т.е. в теме может отсутствовать любой основной файл, кроме index.php.

Наоборот. Максимальный приоритет имеет файл типа (home, page, single и т.д.). Для главной страницы подразумевается, что будет использован отдельный файл home.php. Архитектура WordPress такова, что для каждого типа следует использовать свой файл. Файл index.php является некоторой «заглушкой», которая выполняется при отстутствии файла типа. См. wp-includes/theme.php.

Блин! neofit, кажется я понял: Вы пребываете в глубоком заблуждении, считая, что в редакторе Вы работаете с конкретными файлами  темы. Так вот — ничего подобного! Редактором Вы отправляете текст (данные) в базу MySQL. Движок WP нужен Вам для того, что удобно работать с этими данными: извлекать, преобразовывать, отправлять… А файлы темы формируют вывод полученных данных и оформляют их.

Как раз neofit прав. Расположение home.php в каталоге темы позволяет редактировать этот файл через админ-панель. Более того именно так и нужно делать различного рода «заставки сайта», поскольку в home.php можно использовать произвольный, не зависящий от основного «сайта» оформление, и html-разметку и при этом иметь доступ к WordPress-функциям. Скажем путь к css-файлу удобней оформить в php-виде, чтобы он формировался автоматом.

Вкратце так:
Наоборот

Перечитайте еще раз — мы говорим одно и то же. Проблема в терминологии: Вы про приоритет типа, я про приоритет файла. Допускаю, что слово «приоритет», Вы понимали как первенство или предпочтение отдаваемое чему-либо. Я же имел в виду важность этого файла. Не будь любого другого (из основных) — index.php подстрахует.

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

Как раз neofit прав. Расположение home.php в каталоге темы позволяет редактировать этот файл через админ-панель.

…в разделе редактора тем — да. Но посмотрите сюда:

- не будет значится в перечне страниц в админке и её нельзя редактировать как типовую страницу темы. Однако это можно делать через редактор тем админпанели

В одном случае в админке нельзя редактировать, а в другом можно. Я предположил, что в первом случае neofit говорит о написании текста через WYSIWYG-редактор tinymce. На этом предположении и основывается мой последний абзац. Свое понимание «можно делать (редактировать)» Вы описали в процитированном абзаце выше, а как тогда понимаете «не будет значится в перечне страниц в админке и её нельзя редактировать как типовую страницу темы»?

p.s.: мне очень жалко тратить время на разбор терминов и предположения кто чего мог иметь ввиду, однако если у кого-то есть замечания к сути изложенного, то я конечно же постараюсь аргументировать свою позицию или признать неправоту. Поэтому прошу участников быть внимательным и последовательным к изложению.

Перечитайте еще раз — мы говорим одно и то же. Проблема в терминологии: Вы про приоритет типа, я про приоритет файла. Допускаю, что слово «приоритет», Вы понимали как первенство или предпочтение отдаваемое чему-либо. Я же имел в виду важность этого файла. Не будь любого другого (из основных) — index.php подстрахует.

Хм… В WordPress-е нет «приоритета файла». Есть (условно) «приоритет файла в определенном типе данных». Для типа home вначале будет поиск home.php и лишь при отстутсвии онного, управление перейдет в index.php. Я не зря привел ссылку на файл, где можно посмотреть алгоритмы подключения файлов в зависисмотсти от типа. В данном случае neofit как раз и сделал абсолютно верные выводы. А по вашему получается, что index.php имеет более важное значение, что не соответствует действительности. Именно поэтому и я поправил вас.

>>>>- не будет значится в перечне страниц в админке и её нельзя редактировать как типовую страницу темы. Однако это можно делать через редактор тем админпанели

В одном случае в админке нельзя редактировать, а в другом можно. Я предположил, что в первом случае neofit говорит о написании текста через WYSIWYG-редактор tinymce. На этом предположении и основывается мой последний абзац. Свое понимание «можно делать (редактировать)» Вы описали в процитированном абзаце выше, а как тогда понимаете «не будет значится в перечне страниц в админке и её нельзя редактировать как типовую страницу темы»?

Ну и в чем непонятность? В админ-панели есть Список страниц. Перечень. Этот файл действительно будет там недоступен. А в редакторе тем файл пристутсвует. О визуальном редакторе речь вообще не шла.

Прочитайте Иерархию шаблонов.
См. wp-includes/theme.php

Противоречия в смысле сказанного видите? Я — нет.

Если нет home.php — wp покжет index.php, если нет single.php — wp покажет index.php, если нет archive.php — wp покажет index.php и т.д. Т.е. в теме может отсутствовать любой основной файл, кроме index.php (файлы header.php, footer,php, sidebar.php — будем считать дополнительными). Присутствие других файлов (home.php, single.php, archive.php…) заменяет поведение index.php.
Файл index.php является некоторой «заглушкой», которая выполняется при отстутствии файла типа.
по вашему получается, что index.php имеет более важное значение, что не соответствует действительности. Именно поэтому и я поправил вас.

Если Вы считаете, что назвать его более важным, т.к. он заменит любой отсутствующий — неправильно. Поправляйте. Только укажите на принципиальную ошибку в смысле (в сути) сказанного, а не в терминологии. В противном случае я не вижу для себя интересным продолжать дискуссию.

Ну и в чем непонятность? В админ-панели есть Список страниц. Перечень. Этот файл действительно будет там недоступен. А в редакторе тем файл пристутсвует. О визуальном редакторе речь вообще не шла.

А с чего бы его там вообще искать, в этом перечне, как не для редактирования? А в совокупности с тем, что neofit не только оформление поменять хотел, но и…

Хотелось бы, чтобы главная страница сайта была не в стиле темы (с шапкой, колонками с их автоматическим наполнением и меню, футером), а представляла собой некую презентационную страницу.

… содержимым поуправлять, а также…

В настройках чтения стояло "Постоянная страница".

Я делаю вывод, что он рассматривает начальную страницу, как Статическую Страницу, пишет ее текст, ставит в настройках — «Постоянная страница», получает желаемый текст (презентацию) на начальной странице, но теперь хочет изменить ее оформление через создание файла home.php.

Налицо неправильное понимание логики работы WP. Именно этими предположениями и вызвано мое сообщение:

Блин! neofit, кажется я понял: Вы пребываете в глубоком заблуждении, считая, что в редакторе Вы работаете с конкретными файлами темы. Так вот — ничего подобного! Редактором Вы отправляете текст (данные) в базу MySQL. Движок WP нужен Вам для того, что удобно работать с этими данными: извлекать, преобразовывать, отправлять… А файлы темы формируют вывод полученных данных и оформляют их.

Подумайте над последним абзацем, а особенно над последним предложением.

Фффух! Это мое последнее усилие. Больше мусолить эту тем нет ни сил, ни желания…

off: MAX, раз уж Вы здесь следите за темой, то у меня к Вам просьба — включите для форума два официальных расширения — pun_bbcode и pun_quote. Работать с форумом станет на порядок удобнее. Спасибо.

Здравствуйте. Помогите разобраться.У меня на главной- белая страница. На хостинге ответили:"Удалите кеширующий плагин и проверьте настройки WP". Все сделала- тоже самое .
WordPress 3.0 Локализация lecactus.ru
http://sdelaem-sami.info/
Подскажите, что можно сделать?

Anonymous
Отправить
Ответ на: