/ Wordpress / Структура WP

Структура WP

HIT

19.06.2015

1869

1

В данном посте собраны материалы описывающие общие принципы функционирования WordPress (Структура WP).

Структура шаблонов WP

Template_Hierarchy template-hierarchy

Шаблоны архивов

Шаблон архивов произвольных записей archive.php, либо специальный archive-track.php (track — тип записи).
Шаблон архива таксономии taxonomy.php (общий), либо специальный taxonomy-album.php (album — таксономия), либо специальный taxonomy-album-dreamfall.php (dreamfall — термин таксономия).

Разделение single.php на разные шаблоны (в зависимости от рублики)

Это поместить в шаблон single.php, остальное (включая header и footer) удалить
55 — номер категории

<?php
$test = array(55);
if ( have_posts() ) { the_post(); rewind_posts(); }
if ( in_category($test)) { include(TEMPLATEPATH . '/single-otparivateli.php'); }
else {
include(TEMPLATEPATH . '/single-others.php');
}
?>

Удаление стандартного форматирования записи

Вставить в шаблоне перед началом цикла (<?php if (have_posts()) : ?>)

<?php remove_filter( 'the_content', 'wpautop' ); ?>

Время загрузки

Данный код в любом месте шаблона покажет время загрузки до него. Теоретически можно выявлять проблемные зоны сайта.
Можно использовать в виде комментарий и сомтреть в режиме «Исходный код» (Cntr+U), либо наглядно без комментирования.

<! - Время загрузки: <?php timer_stop (1, 3); ?> секунд до этой точки. ->

Подключение частей шаблона

Части шаблона или различные функции можно подключать несколькими способами: get_template_part, include, include_once, require, require_once.

Примеры:

<?php get_template_part( 'related-cats' ); ?>
<?php include(TEMPLATEPATH."/related-cats.php"); ?>

get_template_part, особенности:

  • считается более правильным, подходит для обособленных кусков кода, без участия общих переменных
  • если файл лежит в папке, то указываем ее get_template_part( ‘inc/related-cats’ );
  • можно указать второй параметр get_template_part( ‘related-cats, web’ ), тогда будет искать шаблон related-cats-web.php, и если не найдет выдаст шаблон — related-cats.php
  • если в шаблоне где вызывается get_template_part есть переменная, и в вызываемом блоке есть ссылка на эту переменную — переменная будет проигнорирована, в этом случае предпочтительнее — include
  • если файла не будет он будет просто проигнорирован

include, особенности:

  • если в шаблоне где вызывается include есть переменная, и в вызываемом блоке есть ссылка на эту переменную — переменная будет учтена
  • если запрашиваемого файла include не существует то будет предупреждение (не фатальная ошибка)

include_once
Во многом тоже самое что и include, с особенностями: вызывается 1 раз, свой набор переменных.

require, особенности:

  • если в шаблоне где вызывается require есть переменная, и в вызываемом блоке есть ссылка на эту переменную — переменная будет учтена
  • если запрашиваемого файла require не существует то будет фатальная ошибка!

require_once
Тоже самое что и require, только вызывается 1 раз

Отличия между require() и include() таковы, что require() возвращает FATAL ERROR, если файл не найден, include() же возвращает только WARNING

Проверка наличия the_content

<?php if($post->post_content != ""): ?>

<div id="entry-content">
<h2>Описание товара</h2>
<?php the_content(); ?>
</div>

<?php endif; ?>
!= «» — не равно пустому значению

Разница между index.php и home.php

Поделиться в соц. сетях:

  • Комментарии
  • Вложения

Добавить комментарий

1 комментарий

  1. Жорик

    зависимости от рублики — опечатка, а статья норм

Структура WP Структура WP Структура WP
Родительские и дочерние страницы
Рекомендации для васРодительские и дочерние страницыOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.