Сегодня
27 апреля 2024
9:26

Теги

сайты, игры, дизайн, продвижение, php, html, css, my sql, c++, delphi, photoshop, 3ds max, fl studio, трекерская музыка, уроки

Статьи сайта

Добавление модулей обеспечивающих минимально необходимый функционал

Основы добавления контента на сайт, управления и поддержки сайта

Проверка работы сайта, установка на хостинг

Основы продвижения созданного сайта

Создание шаблонов

Создание интернет-магазина

Музыкальные мир - композиция Морозное утро - 10 версий

ЛЕТО

Нечто Необъяснимое - пре релиз

megainformatic cms admin

megainformatic cms admin

Основы создания 3d игр - проект Тайны Морских Глубин

уроки delphi directx 8.1 3d - Основы Вращений и Управления камерой

megainformatic cms seo

Моделируем девушку в 3ds max - Создаем скелет для модели

Моделируем девушку в 3d - Подготовка 2d-эскиза тела человека

megainformatic cms stat kit

megainformatic cms seo

Теория и практика 3d игр - О Кватернионах

Теория и практика 3d игр - Основы теории векторов

Теория и практика 3d игр - Важные замечания

Моделируем девушку в 3d используя 3ds max - Подготовка к моделированию ноги - готовим ширму

Моделируем девушку в 3d используя 3ds max - Выполняем моделирование ноги

Моделируем девушку в 3d используя 3ds max - Улучшаем созданную модель женской ножки

megainformatic cms stat kit

Подводная лодка и подводный мир

megainformatic cms - Форма для смены шаблонов сайта - модуль template selector

megainformatic cms social

megainformatic cms social Руководство пользователя

megainformatic cms - Форма для смены шаблонов сайта - модуль template selector

модуль слайдера

ТЗ на сайт коллективных покупок

Моделируем девушку в 3ds max - Знакомимся с основами анимации созданного персонажа

Моделируем девушку в 3ds max - Знакомимся с основами анимации созданного персонажа страница 2

Поддержка сайтом нескольких языков - модуль multi lang

Моделируем девушку в 3ds max - Выполняем экспорт созданной модели в формат X

Моделируем девушку в 3d используя 3ds max - другие статьи сборника статей - обзор

установка нового шаблона в joomla 2.5.4

Описание продукта megainformatic cms social

Моделируем девушку в 3ds max - Рассматриваем особенности работы с анимированными персонажами в приложениях C++ DirectX 9

Моделируем девушку в 3ds max - Подводим общие итоги проделанной работы

megainformatic cms groupon

дизайн сайта строительной компании УЛЬТРА-СТРОЙ

Тестирование подключения платежной системы

Выпадающее окно регистрации на сайте

Тестирование подключения к платежной системе с использованием скрипта эмулятора

Модуль для регистрации пользователя на сайте

Код для модуля регистрации пользователя на сайте

Быстрый подсчёт ключевых слов в статье

Модуль подсчёта ключевых слов в статье

Онлайн-сервис для подсчёта статистики ключевых слов

Пишем слайдер на javascript с нуля

Логика работы слайдера на javascript

Пишем свою соц. сеть - модуль предложений для webjob

Пишем свою соц. сеть - модуль предложений для webjob - часть реализации для личного кабинета

Пишем свою соц. сеть - Реализация файлового хранилища предложений в csv-файле

Тестирование подключения к платежной системе ЕДИНЫЙ КОШЕЛЕК (w1.ru) с использованием скрипта эмулятора

Пишем свою cms - шаг 1

Пишем свою cms - шаг 2

Пишем свою cms - шаг 3

бесплатная флеш игра freeway fury 2 - разработчик Serius Games

бесплатные флеш игры сторонних разработчиков

Как я осваивал Flash

Список уроков на тему создания flash приложений и игр

Как я осваивал Flash - шаг 2 - Основы создания простейших flash - игр

проект портала Идеи Комфорта

игра Веселый Буквоежка

игра Веселый Буквоежка

Использование cron, crontab и планировщика задач

Совместное использование jquery и mootools или других js-фреймворков

Модуль content php performer для megainformatic cms

Пишем компактный слайдер

Что нужно знать для создания сайта ?

Что нужно знать для создания сайта ? Глава 2 - Кодировки и DOCTYPE

Что нужно знать для создания сайта ? Глава 3 - Идём дальше - нанизываем новый код - где объявляются стили css и код javascript

Что нужно знать для создания сайта ? Содержание

Что нужно знать для создания сайта ? css - стили

preg_match или Использование регулярных выражений в php

статьи Тимонина Андрея - Flash. Содержание

статья Тимонина Андрея - Flash. Подготовка к работе.

статья Тимонина Андрея - Flash. Hello world.

статья Тимонина Андрея - Flash. Экспорт SWC библиотеки.

Тимонин Андрей - Несколько слов о себе

статьи Тимонина Андрея - уроки из области веб программирования, создания казуальных игр

статья Тимонина Андрея - Обеспечиваем доступ к объекту из любой точки программы. Singleton

статья Тимонина Андрея - Хронология работы программы. Создаем Лог

статья Тимонина Андрея - Поиск файлов. Получаем список файлов каталога.

статья Тимонина Андрея - Исключения. Создаем класс обработки исключений.

статья Тимонина Андрея - States. Создаем менеджер состояний игры.

статья Тимонина Андрея - Регистрация. Часть 1. Создаем страничку регистрации на сайте.

статья Тимонина Андрея - Регистрация. Часть 2. Создаем обработчик, и заносим информацию о пользователе в Б.Д.

статья Тимонина Андрея - Таймер. Выводим время игры.

статья Тимонина Андрея - DirectX9. Создаем основной класс обработки графики.

статья Тимонина Андрея - DirectX9. Создаем первое приложение.

Что нужно знать для создания сайта ? float - использование в css - стилях

Уроки Fruity Loops Studio (FL Studio) - урок 2 - пишем свою композицию COLD

Уроки Fruity Loops Studio (FL Studio) - урок 3 - экспериментируем с композицией COLD

Что нужно знать для создания сайта ? Стандартные шрифты для сайта

Что нужно знать для создания сайта ? ASC II Коды символов

Уроки Fruity Loops Studio (FL Studio) - урок 4 - пишем первый вариант композиции COLD

Популяризация Современных Научных Знаний и Размышления на околонаучные темы. СОДЕРЖАНИЕ

Популяризация Современных Научных Знаний и Размышления на околонаучные темы. Энергетический кокон

Модуль галерей для любой cms

Уроки Photoshop - Быстрый старт

Мои Музыкальные Миры - страница 2

megainformatic cms rs

Мега Информатик - Примеры моих работ

Мега Информатик - Портфолио выполненных проектов сайтов и приложений

Уроки Photoshop - Текстуры

Уроки Photoshop - Создаем текстуру горной породы

Уроки Photoshop - Создание вариантов на тему созданной текстуры

Уроки Photoshop - Рисование текстуры травы

Уроки css - атрибут position

Уроки Photoshop - Рисование текстуры песка

Уроки Photoshop - Подготовка набора текстур

Уроки Photoshop - Рисование текстур глина, грязь

     
  Создание своих Тем для WordPress  
     
  Введение  
     
 

Начнём с того, что, как мне кажется, будет вам интересно узнать из области сайтостроения.

Итак, даже если у Вас есть собственная CMS (самописная, как говорят), то всегда полезно знать, как устроены профессиональные CMS. Их великое множество - Joomla, Drupal, ModX, Dle, WordPress и т. д.

Стоит ли осваивать их все или достаточно выбрать какую то одну и прорабатывать её ?

Если Вы новичок в сайтостроении, каким был совсем недавно и я, то лучше для начала остановить свой выбор на чём-то одном, и заняться его изучением.

На данном этапе я хотел бы познакомиться с созданием простого шаблона для CMS WordPress. Собственно этим мы сейчас и займёмся.

 
     
 

Для начала конечно вам необходимо установить denver и wordpress.

Ну а далее - вы займётесь собственно изучением данного урока.

 
     
 

Предположим, что Вы установили wordpress локально на свой компьютер в следующую папку -

C:\WebServers\home\localhost\www\wordpress_ru

 
     
  Если заглянуть в папку установленного wordpress, то там вы найдёте такой путь - wp-content\themes  
     
  Это и есть папка, внутри которой Вы можете размещать собственные шаблоны сайтов для WordPress. В WordPress они именуются Темами.  
     
 

Так что же нужно для того, чтобы создать собственную тему для WordPress ?

А нужно нам следующее:

 
     
  внутри папки themes создаем папку, например, mytheme  
     
 

Открываем эту созданную папку и внутри неё создаем такие файлы -

index.php

header.php

sidebar.php

footer.php

style.css

loop.php

functions.php

 
     
  Кроме того создайте здесь папку images, в которую будете помещать изображения, необходимые для оформления внешнего вида вашей темы.  
     
  Далее, вооружившись каким либо редактором, например, DreamWeaver или даже обычным Блокнотом добавляем в наши файлы следующий код  
     
  В файл index.php  
     
 

<?php
/**
* Главный файл шаблона темы
*
* Это изменяемый файл шаблона для темы WordPress
* и один из 2 обязательных файлов для темы (второй - это style.css).

* Используется для отображения страницы, в том случае, когда
* неопределены другие дополнительные варианты
* т. е., он совмещает вывод главной страницы, когда нет файла home.php.
* Более подробно: http://codex.wordpress.org/Template_Hierarchy
*
* @package WordPress
* @subpackage MyTheme
* @since MyTheme 1.0
*/

get_header(); ?>

<div id="container">
<div id="content" role="main">

<?php
/* Запуск цикла вывода постов блога.
* Если нужно переопределить данную возможность в дочерней теме тогда

* включите в папку новой темы файл loop-index.php для использования особенностей, описанных в нём.
*/

get_template_part( 'loop', 'index' );
?>
</div><!-- #content -->
</div><!-- #container -->

<?php get_sidebar(); ?>
<?php get_footer(); ?>

 
     
  В файл style.css мы добавим такой код  
     
  style.css  
     
  Файлы loop.php и functions.php также можете взять в готовом виде -  
     
  loop.php  
     
  functions.php  
     
  В файл header.php  
     
 

<?php
/**
* Заголовок (Header) для нашей темы.
*
* Отображает содержимое секции <head> и всё до блока <div id="main">
*
* @package WordPress
* @subpackage MyTheme
* @since MyTheme 1.0
*/

?><!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>" />
<title><?php
/*
* Выводим тег <title> в зависимости от содержимого страницы.
*/

global $page, $paged;

wp_title( '|', true, 'right' );

// Имя нашего сайта (блога).
bloginfo( 'name' );

// Добавляем описание для домашней/начальной страницы.
$site_description = get_bloginfo( 'description', 'display' );
if ( $site_description && ( is_home() || is_front_page() ) )
echo " | $site_description";

// Если нужно - добавляем номер страницы:
if ( $paged >= 2 || $page >= 2 )
echo ' | ' . sprintf( __( 'Page %s', 'twentyten' ), max( $paged, $page ) );

?></title>
<link rel="profile" href="http://gmpg.org/xfn/11" />
<link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url' ); ?>" />
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" />
<?php
/* Мы добавим немного JavaScript на страницы с комментариями для
* формирования поддержки сайтов с подпроцессными (threaded) комментариями (когда они используются).
*/

if ( is_singular() && get_option( 'thread_comments' ) )
wp_enqueue_script( 'comment-reply' );

/* Всегда ставим вызов wp_head() до закрытия тега </head>
* вашей темы, либо вы нарушите подключаемость многих плагинов (plugins), которые обычно используют этот обработчик (hook)
* для добавления элементов в <head> таких как
* стили (styles), скрипты (scripts), и мета теги (meta tags).
*/

wp_head();
?>
</head>

<body <?php body_class(); ?>>
<div id="wrapper" class="hfeed">
<div id="header">
<div id="masthead">
<div id="branding" role="banner">
<?php $heading_tag = ( is_home() || is_front_page() ) ? 'h1' : 'div'; ?>
<<?php echo $heading_tag; ?> id="site-title">
<span>
<a href="<?php echo home_url( '/' ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a>
</span>
</<?php echo $heading_tag; ?>>
<div id="site-description"><?php bloginfo( 'description' ); ?></div>

<?php
// Проверка условия, что это пост или страница, имеет сокращенное представление (thumbnail), либо располагается целиком
if ( is_singular() &&
has_post_thumbnail( $post->ID ) &&
(
/* $src, $width, $height */ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'post-thumbnail' ) ) &&
$image[1] >= HEADER_IMAGE_WIDTH ) :
//Изображение в заголовке страницы
echo get_the_post_thumbnail( $post->ID, 'post-thumbnail' );
else : ?>
<img src="<?php header_image(); ?>" width="<?php echo HEADER_IMAGE_WIDTH; ?>" height="<?php echo HEADER_IMAGE_HEIGHT; ?>" alt="" />
<?php endif; ?>
</div><!-- #branding -->

<div id="access" role="navigation">
<?php
/* Разрешить экранным ридерам (screen readers)/ текстовым браузерам (text browsers) пропустить отображение меню навигации и получить все равно корректный вариант отображения*/ ?>
<div class="skip-link screen-reader-text"><a href="#content" title="<?php esc_attr_e( 'Skip to content', 'twentyten' ); ?>"><?php _e( 'Skip to content', 'twentyten' ); ?></a></div>
<?php
/* Наше навигационное меню. Если оно не заполнено, wp_nav_menu переключается к состоянию wp_page_menu. К меню применяется основная позиция из возможных. Если ничего не присвоено, используется меню с наименьшим ID*/ ?>
<?php wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'primary' ) ); ?>
</div><!-- #access -->
</div><!-- #masthead -->
</div><!-- #header -->

<div id="main">

 
     
  В файл sidebar.php  
     
 

<?php
/**
* Сайдбар (Sidebar) включает области для основных и вторичных виджетов (widget).
*
* @package WordPress
* @subpackage MyTheme
* @since MyTheme 1.0
*/

?>

<div id="primary" class="widget-area" role="complementary">
<ul class="xoxo">

<?php
/* Когда мы вызываем функцию dynamic_sidebar(), она будет разделять
* виджеты на области для этих виджетов. Если вместо этого функция возвратит false,
* тогда sidebar просто не существует, поэтому будет отображен
* сайдбар с содержимым по умолчанию.
*/

if ( ! dynamic_sidebar( 'primary-widget-area' ) ) : ?>

<li id="search" class="widget-container widget_search">
<?php get_search_form(); ?>
</li>

<li id="archives" class="widget-container">
<h3 class="widget-title"><?php _e( 'Archives', 'twentyten' ); ?></h3>
<ul>
<?php wp_get_archives( 'type=monthly' ); ?>
</ul>
</li>

<li id="meta" class="widget-container">
<h3 class="widget-title"><?php _e( 'Meta', 'twentyten' ); ?></h3>
<ul>
<?php wp_register(); ?>
<li><?php wp_loginout(); ?></li>
<?php wp_meta(); ?>
</ul>
</li>

<?php endif; // end primary widget area ?>
</ul>
</div><!-- #primary .widget-area -->

<?php
// A second sidebar for widgets, just because.
if ( is_active_sidebar( 'secondary-widget-area' ) ) : ?>

<div id="secondary" class="widget-area" role="complementary">
<ul class="xoxo">
<?php dynamic_sidebar( 'secondary-widget-area' ); ?>
</ul>
</div><!-- #secondary .widget-area -->

<?php endif; ?>

 
     
  В файл footer.php  
     
 

<?php
/**
* Шаблон для отображения подвала (footer).
*
* Содержит закрывающий блок id=main тег и весь контент
* после него. Вызывает sidebar-footer.php для нижележащих виджетов.
*
* @package WordPress
* @subpackage MyTheme
* @since MyTheme 1.0
*/

?>
</div><!-- #main -->

<div id="footer" role="contentinfo">
<div id="colophon">

<?php
/* Сайдбар в футере? Вы можете настроить
* ваш футер на 4 столбца виджетов.
*/

get_sidebar( 'footer' );
?>

<div id="site-info">
<a href="<?php echo home_url( '/' ) ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home">
<?php bloginfo( 'name' ); ?>
</a>
</div><!-- #site-info -->

<div id="site-generator">
<?php do_action( 'twentyten_credits' ); ?>
<a href="<?php echo esc_url( __('http://wordpress.org/', 'twentyten') ); ?>"
title="<?php esc_attr_e('Semantic Personal Publishing Platform', 'twentyten'); ?>" rel="generator">
<?php printf( __('Proudly powered by %s.', 'twentyten'), 'WordPress' ); ?>
</a>
</div><!-- #site-generator -->

</div><!-- #colophon -->
</div><!-- #footer -->

</div><!-- #wrapper -->

<?php
/* Всегда используем функцию wp_footer() до закрывающего тега </body>
* вашей темы, иначе вы повредите многие плагины, которые
* обычно используют этот обработчик (hook) для обращения к JavaScript файлам.
*/

wp_footer();
?>
</body>
</html>

 
     
  Теперь Вам остается только активировать созданную тему через админку WordPress и увидеть результат !  
     
  В следующем нашем уроке мы разберем как создается меню навигации.  
     
 

Оставленные комментарии



Рейтинг@Mail.ru
Время загрузки: 0,0199