Используем PHP по назначению. Структура WordPress шаблона — ее должен знать каждый

Create a file named hello.php and put it in your web server"s root directory (DOCUMENT_ROOT) with the following content:

Example #1 Our first PHP script: hello.php



PHP Test


Hello World

" ; ?>

Use your browser to access the file with your web server"s URL, ending with the /hello.php file reference. When developing locally this URL will be something like http://localhost/hello.php or http://127.0.0.1/hello.php but this depends on the web server"s configuration. If everything is configured correctly, this file will be parsed by PHP and the following output will be sent to your browser:

PHP Test

Hello World

This program is extremely simple and you really did not need to use PHP to create a page like this. All it does is display: Hello World using the PHP echo statement. Note that the file does not need to be executable or special in any way. The server finds out that this file needs to be interpreted by PHP because you used the ".php" extension, which the server is configured to pass on to PHP. Think of this as a normal HTML file which happens to have a set of special tags available to you that do a lot of interesting things.

If you tried this example and it did not output anything, it prompted for download, or you see the whole file as text, chances are that the server you are on does not have PHP enabled, or is not configured properly. Ask your administrator to enable it for you using the Installation chapter of the manual. If you are developing locally, also read the installation chapter to make sure everything is configured properly. Make sure that you access the file via http with the server providing you the output. If you just call up the file from your file system, then it will not be parsed by PHP. If the problems persist anyway, do not hesitate to use one of the many options.

The point of the example is to show the special PHP tag format. In this example we used to indicate the start of a PHP tag. Then we put the PHP statement and left PHP mode by adding the closing tag, ?> . You may jump in and out of PHP mode in an HTML file like this anywhere you want. For more details, read the manual section on the basic PHP syntax .

Note : A Note on Line Feeds

Line feeds have little meaning in HTML, however it is still a good idea to make your HTML look nice and clean by putting line feeds in. A linefeed that follows immediately after a closing ?> will be removed by PHP. This can be extremely useful when you are putting in many blocks of PHP or include files containing PHP that aren"t supposed to output anything. At the same time it can be a bit confusing. You can put a space after the closing ?> to force a space and a line feed to be output, or you can put an explicit line feed in the last echo/print from within your PHP block.

Note : A Note on Text Editors

There are many text editors and Integrated Development Environments (IDEs) that you can use to create, edit and manage PHP files. A partial list of these tools is maintained at » PHP Editors List . If you wish to recommend an editor, please visit the above page and ask the page maintainer to add the editor to the list. Having an editor with syntax highlighting can be helpful.

Note : A Note on Word Processors

Word processors such as StarOffice Writer, Microsoft Word and Abiword are not optimal for editing PHP files. If you wish to use one for this test script, you must ensure that you save the file as plain text or PHP will not be able to read and execute the script.

Note : A Note on Windows Notepad

If you are writing your PHP scripts using Windows Notepad, you will need to ensure that your files are saved with the .php extension. (Notepad adds a .txt extension to files automatically unless you take one of the following steps to prevent it.) When you save the file and are prompted to provide a name for the file, place the filename in quotes (i.e. " hello.php "). Alternatively, you can click on the "Text Documents" drop-down menu in the "Save" dialog box and change the setting to "All Files". You can then enter your filename without quotes.

Now that you have successfully created a working PHP script, it is time to create the most famous PHP script! Make a call to the phpinfo() function and you will see a lot of useful information about your system and setup such as available predefined variables , loaded PHP modules, and configuration settings. Take some time and review this important information.

Example #2 Get system information from PHP

Всем привет! Сегодня мы с вами рассмотрим структуру любого шаблона WordPress сайта. Из каких базовых файлов и элементов она строится. Эти знания придадут вам уверенности в изменении и правке чужих шаблонов. А впоследствии, при наличии базовых знаний HTML, CSS, и PHP, создавать свои собственные темы. Но пока что мы так далеко заглядывать не будем, начнем с азов.

Основные файлы любого шаблона. Их назначение.

И так, любой шаблон по своей сути должен состоять из 10 базовых файлов. Так что давайте разбираться в них.

Пример структуры WordPress шаблона

style.css — файл таблицы стилей шаблона. Этот файл должен быть у любой темы, так как именно он отвечает за ее объявление, а так же может хранить дополнительную информацию: имя автора шаблона, версию шаблона, домашнюю страницу автора и т.д. Ну и, конечно же, прямое назначение — это все CSS стили.

index.php — файл отвечает за отображение главной страницы WordPress шаблона. При верстке своего макеты всегда помните, что главная страница может быть как статичной, так и динамичной.

single.php — файл, отвечающий за вывод каждого отдельного поста вашей темы. В качестве примера можно привести данную статью, которую вы читаете.

page.php — файл отвечает за формирование статичных страниц. Обычно это страницы: контакты, об авторе, о ресурсе и т.д.

header.php — формирует шапку сайта, и хранит в себе все важные метатеги для продвижения.

footer.php — файл отвечает за отображение подвала сайта.

sidebar.php — формирует отображение сайдбара или по-русски боковой колонки блога или сайта.

functions.php — файл, отвечающий за дополнительный функционал шаблона. Например: вывод последних комментаторов на моем блоге формируется именно в этом файле.

comments.php — файл отвечает за отображение комментариев у шаблона.

404.php — отвечает за отображение страницы с 404 ошибкой.

search.php — файл, отвечающий за отображение страницы поиска.

Необязательные файлы. Но об их существовании нужно знать.

category.php — файл отвечает за отображение анонсов в категориях (если файла нет, то формирование осуществляется за счет файла index.php)

tag.php — файл отвечает за отображение анонсов на странице тегов (если файла нет, то формирование осуществляется за счет файла index.php)

taxonomy.php — файл отвечает за отображение анонсов на страницах таксономии (если файла нет, то формирование осуществляется за счет файла index.php)

author.php — файл отвечает за отображение анонсов статей определенного автора (если файла нет, то формирование осуществляется за счет файла index.php)

attachment.php — отвечает за вывод прикрепленного файла.

searchform.php — отвечает за формирование формы поиска.

Если в вашем шаблоне присутствуют файлы из не обязательного списка, то вы должны знать, они всегда имеют приоритет выше, чем файл index.php. Это можно объяснить тем, что index.php — это общий случай, а допустим tag.php — это уже частный. Те более конкретный, следовательно, его и нужно воспринимать.

А что хранится в папках?

Папки обычно служат для хранилища определенного типа файлов. Например: папка(image, images, img и тд) хранит в себе файлы изображений, которые относятся к данной теме. Папка JS хранит файлы скриптов. Папка inc хранит php файлы, которые инклюдятся (включаются) в существующие файлы темы.

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

Screenshot.png — это что за зверь?

Обычно этот файл содержит скриншот шаблона, чтобы в админке, когда вы выбирали тему для сайта или блога, могли видеть ее в качестве миниатюры. Размер этого файлика должен быть 880x660px.

Визуальное представление структуры шаблона

Схематичное изображение wordpress шаблона

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

В этой статье я рассказывал, как получить набор данных из таблицы БД, соответствующей выбранной пользователем странице. В этой же статье мы разберём вывод Pagination на PHP . Pagination - это список самих страниц. В Интернете есть различные варианты, но все они страдают одним - огромное количество кода для создания бесконечного числа вариантов. Но Вам разве нужна бесконечность? Вам нужен только 1 вариант, который и будет стоять на сайте. В этой статье мы с Вами создадим относительно сложный pagination , но при этом кода будет совсем не много.

Чтобы создать Pagination на PHP , нам необходимо иметь на входе несколько параметров:

  • count_pages - количество страниц.
  • active - текущая активная страница.
  • count_show_pages - количество отображаемых страниц. Например, если будет 1000 страниц, то вывести их все весьма проблемно. Поэтому отображаться будет только заданное количество в этом параметре.
  • url - адрес страницы, для которой и создаётся Pagination .
  • url_page - адрес страницы с параметром page без значения на конце . Например, "/abc.php?func=create&page= ".

Теперь мы можем создавать Pagination , вот так это выглядит на PHP :

/* Входные параметры */
$count_pages = 50;
$active = 15;
$count_show_pages = 10;
$url = "/index.php";
$url_page = "/index.php?page=";
if ($count_pages > 1) { // Всё это только если количество страниц больше 1
/* Дальше идёт вычисление первой выводимой страницы и последней (чтобы текущая страница была где-то посредине, если это возможно, и чтобы общая сумма выводимых страниц была равна count_show_pages, либо меньше, если количество страниц недостаточно) */
$left = $active - 1;
$right = $count_pages - $active;
if ($left < floor($count_show_pages / 2)) $start = 1;
else $start = $active - floor($count_show_pages / 2);
$end = $start + $count_show_pages - 1;
if ($end > $count_pages) {
$start -= ($end - $count_pages);
$end = $count_pages;
if ($start < 1) $start = 1;
}
?>


Сразу скажу, что кода хоть и немного, но он достаточно сложный для новичков. Года 3 назад я потратил очень много времени, чтобы сделать нечто подобное и тогда кода получилось раза в 2 больше .

А дальше можно этот Pagination через CSS украшать так, как Вы пожелаете. Можно и вёрстку изменить при желании (например, вместо угловых скобок "Предыдущая страница " и аналогичных поставить красивые картинки), главное, не трогать PHP-код .

Вот такой весьма удобный Pagination реализован на этом сайте, а так же на некоторых моих других сайтах.

На уроках 1 и 2 вы уже немного познакомились с PHP и настроили сервер (или получили к нему доступ). Теперь мы готовы к созданию первой РНР-страницы. Это будет легко и просто, но после этого урока вы уже будете знать о РНР намного больше.

Как правило PHP-файл представляет собой текстовый файл с расширением .php , состоящий из:

  • Текста
  • HTML-тэгов
  • PHP-скриптов

Вы уже знакомы с текстом и HTML-тэгами. Теперь остановимся на РНР-скриптах.

PHP-скрипты

PHP Documentation Group выпустила подробную документацию . По всему данному учебнику даётся множество ссылок на эту документацию. Цель - чтобы вы привыкли искать ответы на ваши вопросы. PHP настолько обширен, что его невозможно охватить в этом учебнике. Но PHP достаточно прост! Более того, язык PHP часто весьма похож на обычный английский.

Давайте начнём конструирование вашей первой РНР-страницы.

Пример: Hello World!

Начнём создание обычного HTML-документа, но назовём файл page.php и поместим его в корневую директорию сайта. Если вы используете XAMPP (см. Урок 2), путь к файлу на вашем компьютере (который теперь является сервером) будет "c:\xampp\htdocs\page.php".

HTML-код должен выглядеть примерно так:

Моя первая PHP-страница

Как вы помните, вероятно, из первого урока, PHP даёт команды серверу . Так что давайте напишем команду серверу.

Сначала мы должны указать серверу, где код PHP начинается и заканчивается . В PHP тэги и ?> используются для обозначения начала и конца блоков РНР-кода, которые сервер должен исполнять (на большинстве серверов достаточно использовать в качестве стартового тэга, но будет более корректно при первом использовании PHP.)

Попробуем теперь добавить такой блок кода в ваш HTML-код:

Моя первая PHP-страница Hello World!"; ?>

Если просмотреть этот PHP-документ в браузере, то он будет выглядеть примерно так:

Но интересно будет просмотреть HTML-код в браузере (выбрав "view source"):

PHP-коды исчезли! Из первого урока, вы помните, что только сервер может видеть PHP-коды - клиент (программа-браузер) видит только результат!

Посмотрим, что происходит. Мы просим сервер написать

Hello World!

. Говоря более техническим языком, мы используем строковую функцию echo для написания клиенту специализированной строки, где точка с запятой обозначают конец команды. Но не волнуйтесь! В этом учебнике мы постараемся использовать техническую терминологию по-минимуму.

Наш первый пример, очевидно не особо впечатляющ. Но не спешите! Теперь будет всё интереснее. Рассмотрим другой пример.

Пример: Now!

Заставим сервер написать что-нибудь ещё. Мы можем, например, попросить его вывести текущие дату и время:

Моя первая PHP-страница

В браузере мы увидим:

Соответствующий HTML-код:

Стало уже немного интереснее, не правда ли?

Сервер отображает дату и время при отображении РНР-страницы. Заметьте, что при обновлении страницы в браузере, отобразится новое время. Сервер выводит текущие дату и время всякий раз при отправке страницы клиенту.

Отметим также, что HTML-содержит только дату и время, но не РНР-коды. Следовательно, этот пример не зависит от того, какой браузер используется. В реальности вся функциональность выполняется серверными технологиями и всегда работает во всех браузерах !