Подскажите пожалуйста как модифицировать главную страницу так, чтобы на ней отображалась одна из страниц (page), а не блог? А блог нужно перетащить куда-нибудь внутрь.
Модификация первой страницы

Подскажите пожалуйста как модифицировать главную страницу так, чтобы на ней отображалась одна из страниц (page), а не блог? А блог нужно перетащить куда-нибудь внутрь.
Есть такой вариант. Устаналвиваетет плагин "Static Front Page" (http://www.semiologic.com/software/static-front/). После этого создаете страницу (page) и в параметрах "page slug" ("синоним" или "быстрый доступ") пишите home.
Теперь эта страница и будет главной.
ps Если нужно сделать главную страницу совсем отдельно, то проще кинуть в шаблон файл home.php – это тоже будет главной страницей.
C Static Front Page вроде разобрался, но вот вопрос: как сделать, чтобы по адресу /blog/ отображался бы блог в привычном виде (последние записи из ВСЕХ категорий, а не только из одной)?
MAX:
ps Если нужно сделать главную страницу совсем отдельно, то проще кинуть в шаблон файл home.php – это тоже будет главной страницей.
– Как кинуть? Можно пример, образец?
Или – путь (папку) куда его писать. В корень, рядом с index? Или ссылку – где это подробно описано … 😉
Имеется ввиду: чтобы по ссылке: мойсайт/index выводило эту стр. : home.php ;
статичные страницы выводились бы как: мойсайт/page1 , мойсайт/page2 … мойсайт/pageN
основная страница БЛОГа как: мойсайт/блог/
а категории самого блога как: мойсайт/блог/категория_А/ … мойсайт/блог/категория_Я/
– Папки БЛОГа при этом обязательно должны располагаться в корне сайта, или можно всё это сделать, если они уже лежат в отдельной папке /блог/ ?
– А также, какова последовательность действий и решение, если главной должна открываться страница вида .html , а не .рнр (т.к. в .html некоторые скрипты более корректно работают в разных браузерах)
Каковы вообще особенности установки движка для получения такой конфигурации сайта – с такой иерархией страниц?
создаете в папке своей темы файл home.php
скопируйте в него код из index.php за исключением строчек вывода постов
статичные будут и так выводиться подобным образом
чтобы блог виртуально находился в другой категории сделайте все так, как написано здесь http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory
немного не понял про работу скриптов в хтмл и рнр – по-моему, вы что-то путаете…
Папки движка при этом могут находиться в корневой папке?
У меня сейчас есть рабочий вариант, где особый шаблон главной стр. прописан в index.html который в корне рядом с index.php сайта, а index.php движка вместе с папками движка лежит в папке /blog/. Все в общем ОК.
Но статичные страницы идут с урлами м-сайт/blog/page1 и т.д. А я хочу от этого уйти, чтобы они выводились нормально как м-сайт/page1без вставки /blog/ (к-я появл. из-за отдельной папки в к-й движок). :/
… Или не понял о чем там, или у меня уже так и сделано – см. выше. И при этом варианте – как в описании по ссылке – статичные страницы будут такие: м-сайт/blog/page1 или такие: м-сайт/page1 ?
И что имеется в виду … виртуально находился в другой категории … ?
В данном случае это указано для объяснения причины – почему хочется поиметь возможность сделать главную стр в хтмл. Просто я ставил на такую стр один скрипт , так он не работал в Мозиле нормально иначе как в хтмл странице. Глючил, как только загонял его в рнр. Может там и скрипт можно как-то настроить, но это отд. вопрос, т.к. и в том виде в хтмл он работает нормально везде. 😎
Да, папки движка могут находиться в корне
статичные страницы будут идти в виде м-сайт/blog/page1 – если честно, не знаю, как переписать их в вид м-сайт/page1 – разве только через mod_rewrite
виртуально находится – значит физически файлы расположены в корне, а откликаться блог будет по адресу м-сайт/blog/
очень странный у вас скрипт 🙂 какая ему разница, через что он передается броузеру (скрипт же клиентский, как я понял, а не серверный)… очень и очень странно… прям теряюсь в догадках… полтергейст? заговор мозилла фаундэйшн? 🙂
А у меня в теме newsportal не получаеццо так. Скопировал index.php, обозвав его main.php, дал ему задание показывать только одну категорию, а нифига. Просто наверное в самой теме нигде нету ссылки на мейн. Как заставить ВП выводить главную через один шаблон, а все остальное через индекс?
Зы. А плагин может для этого и надо? Чтобы мейн распознавался как главная?
Да оставим пока скрипт, он так скажем для узкоспец. целей – что-то вроде поля указания координат – и это частный случай.
А вот забацать такую гл. сраницу с указанной структурой – это типовая, думаю задача.
В общем, в корне у меня так: папки, папки, папки и файлы движка + файлы: index.php который всех посылает на лежащий рядом файл index.html – в котором и прорисован весь особый дизайн моей гл. страница (с той же, кстати шапкой и футером, что и в шаблоне)+ умильная папка blog в коей лежит файл index.php. Хотя, м.б. все дружно посылаются сначала в index.php папки blog, а уже потом на … – я в этом никак разобраться толком не могу и слегка путаюсь. М.б. кто прояснит по ходу?
В резудьтате всей этой бадейки я и имею на мониторе статичные страницы и категории с урлами м-сайт/blog/page1 . :rolleyes:
Код обоих index.php практич. одинаков:
<?php
/* Short and sweet */
define(‘WP_USE_THEMES’, true);
require(‘../wp-blog-header.php’);
?>
только в том, что в корне в строчке require(‘./wp-blog-header.php’); одна точка(.) перед ./wp-blog-header.php’ почему-то …
Файл home.php я нигде не нашёл (и в шаблоне тоже).
Я вот думаю: а можно как-то установить движок так, чтобы index.php блога был в корне (без папки blog), тогда и получим урлы такие: м-сайт/page1.
А шаблон гл. страницы сделать, типа как пишут через новый home.php в шаблоне (вот только можно ли там будет приставить и home.html рядом?).
А вывод последних постов к-е обычно появляются на гл. стр. блога завести на вновь созданную статичную стр. обозвав её соответственно: new-super-blog. Тогда, если так катит, и должно вроде получиться желаемое. 😉
А м.б. ещё есть варианты?
В общем, рtзультат хочется – типа как на: http://www.stevepavlina.com/ или, простите, на: http://wordpress.org/. В общем – такую же структуру сайта и ссылок.
Может кто разгадает загадку этой викторины – как они построены? 😎
P.S. И всё-таки, до предельной ясности, конкретизируйте, что и как подробно делать с home.php. Во-первых: какой index.php (из корня, папки blog, папки шаблона копировать)? Куда: в папку шаблона рядом с евоным index.php? Я так и делал (копировал тот, что из корня на новом сайте где весь движок – в корне, без папки blog, клал в папку шаблона и переименовывал в home.php). Тогда: какой полностью код ОБЯЗАТЕЛЬНО д.б. у такого home.php? Можно пример, пож.!
2МИХА
нет, вордпресс сам подставляет файл с именем home.php для главной страницы – должность у него такая 🙂 – плагин ему не нужен
вот http://codex.wordpress.org/Template_Hierarchy
быть может, вы что-то не так поменяли в home.php – попробуйте более радикальные меры, чтобы локализовать проблему: оставьте в home.php только текст, без вывода каких-либо постов. Если все равно не выводиться – киньте ссылку на тему (попробую посмотреть)
2Prost
ну вот, теперь у вас запросы поменялись 🙂
попробуем разобраться как можно организовать такую же структуру, как на этих сайтах. Можно сделать так:
на стивпавлина.ком блог отзывается по подпапке /blog/ , а в корне у него есть всякие там /articles/ папки и прочее
он помещает вордпресс в папочку /blog/ и не мучается
а в корне кидает php файл с шаблоном, через который идут все обращения к сайту (за исключением тех, которые в папку /blog/ , с помощью модуля mod_rewrite)
файлы статей – просто информация, голый хтмл + мб php, могут физически распологаться либо в базе (тогда в файле шаблона они выдираются из базы по урлу), либо действительно так articles/example.html (тогда просто в файле шаблона включается этот файл в нужное место)
О "любимом" home.php:
создаете файл с таким именем в папке темы, можно скопировать index.php из папки темы и отредактировать его
вуаля – имеем в вордпрессе то, что хотим… в особо тяжелом случае – вордпресс имеет нас, как хочет…
вот, например, как сделан home.php у меня на сайте
BuildYourself.ru – жизненный новострой (http://buildyourself.ru):
Т.е., как я и догадывался – он кучу страниц в хтмл сделал, а потом ссылки на них в шаблон вбил? Ну … это не интересно, хотя если ведёшь только 3-4 сайта допустимо.
А блог точно не в корне, а в папке /blog/, типа как и уменя сейчас?
А /articles/ – это что – папка или файл? Тогда как он сделан – тоже ручками и в рнр?
—–
В общем, можно уписаться над тем как, но я сделал что хотел. Загнал на новый домен версию 2.0.9. англ.
И … в корне – рядом с index.php поместил свой index.html с нужным дизайне слепленным с пом. визуального редактора. 😎
Всё. Работает. Откравает при заходе на сайт index.html . Изъянов, пока не нашел. Всё как хотел. Главная – любой дизайн. Коды шапки сделаны в слоях div – так же как в header.php шаблона – не отличишь и в любой момент можно изменить как захочется. Все статичные страницы открываются с урлами м-сайт/blog/page1 .
И, неужели этого элементарного действа на форуме ещё никто не пробовал? :rolleyes:
ildar111, Спасибо за советы и внимание! BuildYourself.ru – жизненный новострой (http://buildyourself.ru): симпатишный. А как там вводный текст перед постами сделан на главной? и можно так также в разделе каждой категории делать?
Остался только один вопрос: Как вывод последних постов к-е обычно появляются на гл. стр. блога завести на вновь созданную статичную стр. обозвав её соответственно: new-super-blog. 🙂
Вот нашёл рекоменд по этому поводу на http://mywordpress.ru/support/viewtopic.php?id=145 , но есть вопросы по подробностям действий:
Как должен этот шаблон выглядеть? Это файл? Что в нём? Куда его помещать?
Это статичная страница создаваемая через админку? – где и как добраться до её кода, она же вроде в ьазе … Или отдельная страница.рнр? – тогда куда её класть?
Собственно вопрос тот же – как этот шаблон прописать, где это … после вызова header.php , в каком файле, папке и его полный возможный код …
В админке? :/
… пока вот, сделал так:
Сделал в папке шаблона файл blog.php, выставил как шаблон blog.php на статич. страницу без текста в админке, но
Вставка следующая в blog.php работает не корректно (нет текста постов, только подпись – из какой категории … ):
<?php get_header() ?>
<?php query_posts(); ?>
"Т.е., как я и догадывался – он кучу страниц в хтмл сделал, а потом ссылки на них в шаблон вбил? Ну … это не интересно, хотя если ведёшь только 3-4 сайта допустимо."
ну можно их же хранить в базе… только особой разницы не вижу, так как в этих файлах лишь хтмл-форматирование самой статьи…. почему "не интересно"-то? 🙂 да и не знаю я, как он сделал… не знаком с ним лично, увы 🙂 просто написал один из возможных вариантов
"А блог точно не в корне, а в папке /blog/, типа как и уменя сейчас?" может и в корне, переписать урл можно и с мод_реврайтом
"А /articles/ – это что – папка или файл? Тогда как он сделан – тоже ручками и в рнр?"
может и папка, в которой расположены его статьи, может просто параметр, по которому из базы берутся только нужные статьи
"Все статичные страницы открываются с урлами м-сайт/blog/page1 ."
по-моему, вы хотели, чтобы урл был м-сайт/page1 ?
если же м-сайт/blog/page1, то тогда все было просто :)))) а я-то вас неправильно понял… тогда элементарно ставить блог в папочку blog и все…
"ildar111, Спасибо за советы и внимание! "
да не за что
Печатаю я – благодаря Соло на клавиатуре – со скоростью под 300 знаков в минуту, а при создании buildyourself.ru перерыл половину codex’a. И первое, и второе будут полезны, особенно Соло – так что советую
" А как там вводный текст перед постами сделан на главной? и можно так также в разделе каждой категории делать?"
смотрите мое предыдущее сообщение – я поместил весь свой код файла home.php
там должно быть понятно
Для каждой категории: создавайте для каждой категории отдельный шаблон. Как это сделать описано здесь: http://codex.wordpress.org/Template_Hierarchy
вкратце: создавайте в папке своей темы файл вида category-ID.php , где ID – id вашей категории (можно посмотреть в админке)
"Как должен этот шаблон выглядеть? Это файл? Что в нём? Куда его помещать?"
см. мой предыдущий пост начиная с фразы: О любимом home.php
"Это статичная страница создаваемая через админку? – где и как добраться до её кода, она же вроде в ьазе … Или отдельная страница.рнр? – тогда куда её класть?"
Вам надо будет создать в админке статическую страницу с коротким именем blog
Еще надо будет создать в папке темы файл blog.php – это будет шаблон для страницы blog
то есть при вызове урл-сайта.ру/blog/blog будет показываться эта статическая страница blog , но для ее отображения будет использован шаблон из файла blog.php
дважды blog/blog из-за того, что ваш вордпресс находится в папке блог, а уже потом вызывается страница с коротким именем blog
"но
Вставка эта в blog.php работает не корректно (нет текста постов, только подпись – из какой категории … ):"
все работает корректно, просто надо еще вставить код для вывода постов так, как вам необходимо… например, у меня так:
<?php query_posts("cat=3"); #вывод только из категории Новости сайта
if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<div class="post" id="post-<?php the_ID(); ?>">
<div class="post-date"><span class="post-month"><?php the_time(‘M’) ?></span> <span class="post-day"><?php the_time(‘d’) ?></span></div>
<div class="entry">
<h2 class="ilh2"><a href="<?php the_permalink(); print $ildar_tmp_string; ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
<span class="post-cat"><?php the_category(‘, ‘) ?> <?php edit_post_link(‘Редактировать статью’, ‘ ‘, ”); ?></span>
<span class="post-comments"><?php comments_popup_link(‘Оставить отзыв »’, ‘1 отзыв »’, ‘Отзывов: % »’); ?></span>
<div class="post-content">
Метки: <?php STP_PostTags(); ?>
<?php the_content(‘Читать далее »’); ?>
</div>
</div>
</div>
<?php endwhile; ?>
вы можете скопировать код из файла index.php своей темы
Это у меня получается, а как сделать вывод последних 10 постов из ВСЕХ категорий, т.е. как при установке движка по-умолчению выводится на гл. странице? Делал так: <?php query_posts(); посты (их текст не выводится).
Пробовал! Не показывает посты! Только заголовок страницы. :rolleyes:
забыл… необходимо в файл шаблона для страницы вставить в начале
<?php
/*
Template Name: Имя_шаблона
*/
?>
и на странице редактирования страницы выбрать для нее шаблон Имя_шаблона
Именно. Я так и сделал. Только что записать, какой код, чтобы вывелись ВСЕ посты из движка на ЭТУ страницу?
А в этой строчке – ошибка
добавить
<?php query_posts(”); ?>
вместо
<?php query_posts("cat=3"); #вывод только из категории Новости сайта
2Prost
хватит дублировать свои вопросы в разных темах – я уже запутался 🙂
В общем, задачу WordPress as a CMS я, похоже, решил. 🙂
1. В корне – рядом с index.php поместил свой index.html с нужным дизайне слепленным с пом. визуального редактора.
Всё. Работает. Открывает при заходе на сайт страницу index.html . Изъянов, пока не нашел. Всё как хотел. Главная – любой дизайн. Коды шапки сделаны в слоях div – так же как в header.php шаблона – не отличишь и в любой момент можно изменить как захочется. Все статичные страницы открываются с урлами м-сайт/blog/page1 и главная страница имеет индивидуальный (любой) дизайн. При желании index.html можно не делать, а сделать весь индивидуальный дизайн в index.php шаблона.
2. Создал страницу blog.php сделав копию index.php из папки шаблона, переименовал и поместил её в папку шаблона к его файлам. В ней прописал:
Код указывающий, что для страницы /blog/нужно использовать этот шаблон blog.php :
а также код который выводит на эту страницу (в этот шаблон) все посты: 😉
т.е. в строку <?php query_posts(); ?> вставил have_posts() – т.к. без этого глючило, и получил <?php query_posts(have_posts()); ?>
Полный код blog.php :
Дальше: в админке создал статичную страницу blog и при её создании указал – для этой страницы использовать шаблон (Page Template): blog
Материалы: http://codex.wordpress.org/Pages#WordPress_as_a_CMS
код гл. страницы BuildYourself.ru – жизненный новострой (http://buildyourself.ru): от ildar111
конкретнее оттуда – строку <?php while (have_posts()) : the_post(); ?> из которой и вычленил кусок кода have_posts() которого не доставало для решения.
Т.о. имеем: Движок CMS для сайта на основе WordPress в котором: 😎
1. Можно делать любой дизайн главной страницы как в формате index.php так и index.html – если надо.
2. Блог открывается не на главной странице, а на своей странице по ссылке БЛОГ ( имя_сайта/blog/) из меню (или из любого места).
При этом дизайн страницы БЛОГ также можно сделать любой на основе её шаблона blog.php
3. Можно иметь ещё до 10-15 статичных страниц (по некот. данных при большем их кол-ве движок притормаживает) каждую, если надо – со своим дизайном на основе инд. шаблона сделанного по типу шаблона blog.php и много динамичных страниц в категориях и под-категориях блога.
4. Каждую категорию (подкатегорию) блога можно исключить кодами в шаблоне из общего меню и ссылку на неё вывести в шапку, главное или особое меню, или в любое место. При этом на эту категорию (подкатегорию) также при необходимости можно задать свой шаблон. Всего м.б 3 уровня иерархии в глубину: индекс_сайта/категория/подкатегория/запись(страница, пост). Дальше нельзя – предел движка: тормозит и глючит.
Пробовал – не помогало.
Согласен. Там везде помещу своё решение для законченности.
Что Вам не помогло, ё-маё?
Прямо как бабуля на лавочке «пробовала мазать тут и тут, не памагло» 🙂
http://forum.maxsite.org/viewtopic.php?id=576
Вставка кавычек ” здесь <?php query_posts(”); ?> " … не памагло"
И, вообще-то, для ildar111, чтобы человек в курсе был, т.к. помогал разобраться и был в диалоге – на линии.
А на http://forum.maxsite.org/viewtopic.php?id=576 там частный случай явно описан " … чтобы на главной странице выводилась статичная страница (Page)".
А здесь вопрос стоял так, чтобы на стат. страницу ВСЕ посты из движка выложить – как ни главной(индекс) при установке по умолчанию.
К тому же я и решение уже выше выложил, … .
Если помочь хотелось, так надо было и начать дружелюбно:
" А вот ещё есть решение для похожего случая когда … если надо."
Тоже надо. Спасибо. 😀
И вообще sonika, чёй-то больно колючая.
Если так здорово всё знаешь, чего пол-года назад это решение не подсказала – как сделать WordPress как CMS для сайта, где главная страница имеет особый дизайн, а БЛОГ выводится не на главной, а на отдельной стр. – по своей ссылке? 😛 Ещё недовольны была, что на 2 форумах "спамлю". Тут не поспамишь, ежели толком не отвечают на элементарные, оказывается вещи.
А вот – решил.
Спасибо всем, кто писал на эту тему. Спасибо за помощь и участие ildar111. sonika,тоже спасибо, однако. 🙂
флуд:
"И вообще sonika, чёй-то больно колючая."
Да тут "многие" на нервах сидят 🙂 а некоторые даже "самоутверждаются" :))))))))))))
тему закрывать
Произошёл облом (где-то). 😆
По этой самой схеме, которую я выше расписал: Есть у меня сайт на WordPress – к корне сайта. Главная стр. сделана так:
рядом со стр. index.php лежит index.html – в ней свой дизайн и Java- скрипты, к-е некорректно отображаются в разных браузерах, если их поместить в index.php.
А так – всё работает и при наборе адреса сайта выводится содержание index.html.
В структуре сайта – есть статичные страницы для постоянного содержания и раздел Блог к-й выводится по ссылке имясайта/blog – сделан на основе статичной страницы подключающей свой шаблон blog.php лежащий в папке темы, с выводом туда всех постов через функцию
Т.е. по заходу на сайт видим персональный дизайн index.html, а блоговое содержание начинается только со стр. имясайта/blog
Так вот. Решил я эту же конструкцию повторить на новом сайте. Пробовал всё это же и на Денвере и на хостинге, однако, почему-то уже содержание index.html НЕ ВЫВОДИТСЯ! (даже после удаления базы полностью, копирования, переустановки туда ВСЕХ файлов УЖЕ РАБОТАЮЩЕГО по этой схеме сайта).
Т.е. теперь при выходе на главную сайта – грузится index.php с выводом туда всех постов – как по умолчанию для движка, а index.html содержание – не выводится, словно его вообще нет … :/ (Пробовал и на 2.0.9 и на 2.2.2 …)
А если убрать index.php – инфа с index.html грузится нормально, зато всё остальное, соотв., пропадает, т.к. как-то через index.php завязано …
В чём дело? Какие настройки проверить и где нужно м.б. что-то прописать? :rolleyes:
Код index.php :
.htaccess :
Вопрос с index.html решён! Получил дельную подсказку:
[quote]Ю.Б. написал:
Чтобы по http://domain/ открвыался index.html, надо в .htaccess добавить строку
DirectoryIndex index.html[/quote]
СПАСИБО !!! Помогло! Работает! 🙂
Я дико извиняюсь, но можно как для дебила, я в пхп полный ноль…
Есть сайт. http://cunningfox.info/
есть страничка, которая должна стать главной – http://cunningfox.info/?page_id=2
Но на главной страничке отображается блог…
Сформулирую что мне надо. Нужно чтобы главной была эта страничка, а чтобы просмотреть блог нужно было бы просто тыкнуть на нужную рубрику… Заранее благодарен. Уже 2 дня пытаюсь сам сделать, но с моими познаниями в сфере программинга все бесполезно.
Прошу описать полностью, какую страничку править, что и куда добавлять, и главное как это сделать…
Админка -> Настройки -> Чтение -> На главной странице отображается -> Статическая страница. И выбрать в дроп-дауне "Главная страница" нужную.