Вопрос для гуру или программистов: уважаемые, переделываю достаточно сложный шаблон под ВП ( ниже).
Вопросы следующие :
1. Имеет ли значение порядок сборки шаблона, особенно очередность файла header.php. Например, такой вариант :
<?php get_sidebar('left'); ?>
<?php get_header(); ?>
<?php get_sidebar('right'); ?>
---- php code----
<?php get_sidebar('end'); ?>
<?php get_footer(); ?>
или сборка должна быть именно в последовательности, что внизу.
<?php get_header(); ?>
<?php get_sidebar('left'); ?>
<?php get_sidebar('right'); ?>
---- php code----
<?php get_sidebar('end'); ?>
<?php get_footer(); ?>
2. И второй вопрос (если последовательность нельзя нарушать) – нет ли каких подпольных течений, если header.php сделать "пустым", как внизу.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
<title><?php bloginfo('name'); ?> <?php if ( is_single() ) { ?> » Blog Archive <?php } ?> <?php wp_title(); ?></title>
<meta name="generator" content="WordPress" /> <!-- leave this for stats -->
<meta name="author" content="Наверное я" />
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
<link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS Feed" href="<?php bloginfo('rss2_url'); ?>" />
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
<?php wp_head(); ?>
</head>
<body>
Вопросы возникли из-за того, что лень перерезать ( да исходника нету) и переписывать стили. В самом первом варианте еще собирается, во всех других не хватает мозгов, да и туплю наверное. И какой вариант лучше ( если вообще хоть один подходит) – неправильная последовательность или пустая шапка? Подозреваю, что Соника отравит Кодекс читать.:(
не гуру пробует ответить.
с помошью кодов <?php get_header(); ?> и др. инклудятся файлы темы sidebar.php и пр.
теперь представть что будет если поменять их местами? <!DOCTYPE html окажется гдето посередине,а это получается не валидный html, в общем получится все не правильно
Qvot, в принципе ожидал такой ответ, хоть и не очень дружу с рнр. Больше интересует все же вторая часть вопроса. Хотя, как не странно, в первом варианте под Денвером пашет без проблем. С выводом титлов, поиском и т.д. Вопрос и возник из-за того, что работает…. Поэтому, начали терзать смутные сомнения, что движок не просто их слепливает в последовательности, что указана, а информацию из header.php вытаскивает независимо от его положения, по факту его наличия…. Мне бы ну очень так хотелось…. 😡
честно, немного не пойму что со вторым. приведенный код вроде стандартный(ну почти), чаще всего и используется. внем и вывод и титла и пинг и рсс. И как понять "пустым"? под пустым я понимаю что в нем вообще ничего, то в таком слычае все его содержимое нужно прописывать везде гдеиспользуется get_header
В Вашем примере строки вида <?php get_header(); ?> осуществляют вставку "кусков текста" в общий , которые для удобства редактирования и настройки разбит на несколько "логичных" файлов.
Эта разбивка достаточно условна и не является обязательной, можно но все собрать в один файл, можно разбить так как Вам нравится, все это без разницы, главное, что бы в результате "собрался" правильный код.
Qvot :
Пустым, имеется ввиду голый код между <head></head>, без вывода видимых элементов страницы. Я же пример привел.
То есть, в данном случае, я бы просто вверху поставил "пустой" header.php и собрал бы еще один сайдбар…
AlexS:
Алексей Евгеньевич, единственно что насторожило, это фраза – "собрался" правильный код. При просмотре HTLM кода в браузере – то он выглядит не правильно… Хотя ВП работает вроде корректно. Может не рисковать, сделать "пустой" header.php, прописать первым в сборке темы, а видимые элементы прописать еще в одном сайдбаре – типа sidebar-top. Правда тогда будет 4 сайдбара, из них 2 динамических и 2 статических. Но думаю, что это не страшно, видел и по 8 сайдбаров…
Ю.Б. – хотелось Ваше хлесткое мнение – типа "ОК!;)"
Многа букафф 🙂 В header.php нужно вынести код от doctype до начала изменяемой части (body или div id="тельце" – это уже от верстки зависит). В footer.php – соответственно хвостовую неизменную часть. Остальной мотлох можно переставлять сколько угодно. Но нужно иметь в виду, что кто-то, возможно, будет читать без стилей (Гугль, например), поэтому порядок имеет значение.
Всем огромное спасибо. Сделал в правильной последовательности ( с еще одним сайдбаром). Пока косяков по работе не наблюдается, правда чуть ползет в IE7, но это уже другая тема…
Стандартное построение шаблона WP наиболее правильное.
header- текст – сайдбары – footer
Что достигается – основной текст следует в коде страниц сразу за шапкой,
а не лежит чер те где в самом низу.