Интересный материал, который будет хорошим дополнением к теме о создании темы для WordPress. Список всех функций в темах WopdPress с описанием каждой.
<HEAD>
Функция для вывода заголовка блога (простой вариант)
<title><?php bloginfo('name'); ?><?php wp_title(); ?></title>
Функция для вывода заголовка блога (усложненный вариант)
<title><?php wp_title(”); if (function_exists(‘is_tag’) and is_tag()) { ?>Tag Archive for <?php echo $tag; } if (is_archive()) { ?> archive<?php } elseif (is_search()) { ?> Search for <?php echo $s; } if ( !(is_404()) and (is_search()) or (is_single()) or (is_page()) or (function_exists(‘is_tag’) and is_tag()) or (is_archive()) ) { ?> at <?php } ?> <?php bloginfo(‘name’); ?> - <?php bloginfo(‘description’); ?></title>
Функция для указания кодировки блога (простой вариант)
<meta http-equiv=Content-Type content=text/html; charset=utf-8>
Функция для указания кодировки блога (усложненный вариант)
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
Функция для импорта таблицы стилей style.css
<style type=text/css media=screen> @import url( <?php bloginfo('stylesheet_url'); ?> ); </style>
Функция для вывода версии блога
<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />
Функция для информации RSS, RSS2 url, пингбэк url, atom urlблога
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="<?php bloginfo('rss2_url'); ?>" /> <link rel="alternate" type="text/xml" title="RSS .92" href="<?php bloginfo('rss_url'); ?>" /> <link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="<?php bloginfo('atom_url'); ?>" />
Функция для вывода прочей служебной информации и ключевых слов блога
<?php wp_head(); ?>
Функция для вывода фавикона из папки темы
<link href="<?php bloginfo('url'); ?>/wp-content/themes/название_темы/favicon.ico" rel="shortcut icon">
FUNCTIONS.PHP
Функция для виджетсовместимого сайдбара (см. sidebar.php)
<?php if ( function_exists('register_sidebar') ) register_sidebars(2);(array( 'before_widget' => '', 'after_widget' => '', 'before_title' => '<h4>', 'after_title' => '</h4>', )); ?>
STYLE.CSS
Указание кодировки для таблицы стилей
@charset "utf-8";
Название темы (указывается между /* Функция */ )
Theme Name: wp-info.ru
Гиперссылка темы (указывается между /* Функция */ )
Theme URL: http://www.wp-info.ru
Описание темы (указывается между /* Функция */ )
Description: Russian subject for site www.wp-info.ru
Автор темы (указывается между /* Функция */ )
Author: wp-info.ru
Ссылка на сайт автора темы (указывается между /* Функция */ )
Author URL: http://wp-info.ru
Прикрепление к файлу style.php еще одного файла таблицы стилей categories.css
@import 'categories.css';
Пояснения в таблице стилей
/* Начало HEADER */
INDEX.PHP
Функция для вывода файла header.php
<?php get_header(); ?>
Функция для вывода файла sidebar.php
<?php get_sidebar(); ?>
Функция для вывода файла sidebar_2.php
<?php include(TEMPLATEPATH . '/sidebar_2.php'); ?>
Функция для вывода файла footer.php
<?php get_footer(); ?>
Функция для цикла вывода постов
<?php if (have_posts()) : while (have_posts()) : the_post(); ?> тут функции для вывода постов <?php endwhile; else: ?> тут функция для вывода сообщения об ошибке <?php endif; ?> Функция для вывода сообщения об ошибке <?php _e('Sorry, no posts matched your criteria.'); ?>
Функция для вывода заголовка поста (со ссылкой)
<a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a>
Функция для вывода ID записи (поста)
<?php the_ID(); ?>
Функция для вывода имени автора записи (поста)
<?php the_author() ?>
Функция для вывода времени опубликования поста
<?php the_time() ?>
Функция для вывода даты в формате "месяц-день-год"
<?php the_time('m-d-y') ?>
Функция для вывода содержания поста
<?php the_content(__('(more...)')); ?>
Функция для вывода названий категорий в которых опубликован пост
<?php _e("Написано в рубрике:"); ?> <?php the_category(',') ?>
Функция для вывода тегов с которыми опубликован пост
<?php the_tags('Метки: '); ?>
Функция для вывода ссылки "Редактировать" (редактирование поста)
<?php edit_post_link('Редактировать'); ?>
Функция для вывода ссылки "Предыдущая запись"
<?php previous_posts_link(__(' Следующая запись')) ?> или так: <?php previous_post_link('%link') ?>
Функция для вывода ссылки "Следующая запись"
<?php next_posts_link(__('Предыдущая запись ')) ?> или так: <?php next_post_link(' %link ') ?>
Функция для вывода ссылки "Следующая запись" и "Предыдущая запись"
<?php posts_nav_link(); ?> или так: <?php posts_nav_link(' — ', __('« Previous Page'), __('Next Page »')); ?>
Функция для вывода ссылки на комментарии текущей статьи
<?php comments_popup_link(); ?>
Функция для вывода сообщения о количестве комментариев и вывода comments.php
<?php comments_popup_link('Нет комментариев', '1 Комментарий', '% Комментариев'); ?> <?php comments_template(); ?>
HEADER.PHP
Функция для вывода URL-адреса сайта блога
<?php bloginfo('url'); ?>
Функция для вывода названия блога
<?php bloginfo('name'); ?>
Функция для вывода краткого описания блога
<?php bloginfo('description'); ?>
Функция для вывода краткого названия блога со ссылкой
<a href="/"><?php bloginfo('name'); ?></a>
Функция для вывода краткого описания блога со ссылкой
<a href="/"><?php bloginfo('description'); ?></a>
Функция для вывода изображения из папки темы
<img src="<?php bloginfo('stylesheet_directory'); ?>/images/logo.jpg" border="0">
Функция для вывода изображения из папки темы с заголовком блога
<img src="<?php bloginfo('stylesheet_directory'); ?>/images/logo.jpg" alt="<?php bloginfo('name'); ?>" border="0">
Функция для вывода изображения из папки темы с заголовком блога и ссылкой на главную страницу блога
<a href="/"><img src="<?php bloginfo('stylesheet_directory'); ?>/images/logo.jpg" alt="<?php bloginfo('name'); ?>" border="0"></a>
FOOTER.PHP
Функция для вывода ссылок "Записи (RSS)" и "Комментарии (RSS)"
<?php printf(__('%1$s and %2$s.', 'kubrick'), '<a href="' . get_bloginfo('rss2_url') . '">' . __('Entries (RSS)') . '</a>', '<a href="' . get_bloginfo('comments_rss2_url') . '">' . __('Comments (RSS)') . '</a>'); ?>
SIDEBAR.PHP
Функция для вывода списка страниц
<?php wp_list_pages('depth=1&title_li='); ?>
Функция для вывода категорий (рубрик)
<?php _e('Categories:'); ?> <?php wp_list_cats('sort_column=name&optioncount=1&hierarchical=0'); ?>
Функция для вывода архивов
<?php _e('Archives:'); ?> <?php wp_get_archives('type=monthly'); ?>
Функция для вывода облака тегов
<?php wp_tag_cloud(); ?>
Функция для вывода списка ссылок (блогролл)
<?php get_links_list();?>
Функция для вывода формы поиска по блогу
<form id="searchform" method="get" action="<?php echo $_SERVER['PHP_SELF']; ?>"> Искать на сайте: <input type="text" name="s" id="s" /> <input type="image" src="<?php bloginfo('stylesheet_directory'); ?>/images/search.gif" /> </form>
Функция для вывода ссылок для администрирования блогом
<?php _e('Meta:'); ?> <?php wp_register(); ?> <?php wp_loginout(); ?> <?php wp_meta(); ?>
Функция для вывода календаря
<?php get_calendar(); ?>
Функция для виджетсовместимого сайдбара (см. functions.php)
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?> тут могут быть функции для вывода блоков по-умолчанию <?php endif; ?>
COMMENTS.PHP
Функция для распознавания комментатора и начало цикла
<?php if ( !empty($post->post_password) && $_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) : ?> <?php _e('Enter your password to view comments.'); ?> <?php return; endif; ?>
Функция для вывода количества комментариев
<?php comments_number(__('No Comments'), __('1 Comment'), __('% Comments')); ?> <?php if ( comments_open() ) : ?> <?php endif; ?> <?php if ( $comments ) : ?> <?php foreach ($comments as $comment) : ?>
Функция для вывода информации о комментаторе
<?php comment_type(__('Comment'), __('Trackback'), __('Pingback')); ?> <?php _e('by'); ?> <?php comment_author_link() ?>
Функция для вывода ссылки для редактирования комментария
<?php edit_comment_link(__("Edit This"), ' |'); ?>
Функция для вывода текста комментария
<?php comment_text() ?>
Функция для вывода аватара (граватара) 80х80 пикселей
<?php echo get_avatar( $comment, 80 ); ?>
Список опубликованных комментариев
<?php wp_list_comments();?>
Навигация по страницам комментариев
<?php previous_comments_link() ?><?php next_comments_link() ?>
Функция для закрытия цикла комментариев
<?php endforeach; ?> <?php else : ?> <?php endif; ?>
Функция для вывода строчки "Оставить комментарий" и начало цикла
<?php if ( comments_open() ) : ?> <?php _e('Leave a comment'); ?>
Функция для распознавания комментатора и вывод соответствующих ссылок для регистрации или входа в аккаунт
<?php if ( get_option('comment_registration') && !$user_ID ) : ?> You must be <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?redirect_to=<?php the_permalink(); ?>">logged in</a> to post a comment. <?php else : ?>
Функция для вывода формы отправки комментариев и ссылки для регистрации или входа в аккаунт
<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform"> <?php if ( $user_ID ) : ?> Вы вошли как <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout" title="<?php _e('Log out of this account') ?>">Выйти »</a> <?php else : ?> <p><input type="text" name="author" id="author" value="<?php echo $comment_author; ?>" size="22" tabindex="1" /> <label for="author"><small>Имя <?php if ($req) _e('(required)'); ?></small></label></p> <p><input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="22" tabindex="2" /> <label for="email"><small>E-mail <?php if ($req) _e('(required)'); ?></small></label></p> <p><input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="22" tabindex="3" /> <label for="url"><small>Сайт ( <noindex> )</small></label> </p> <?php endif; ?> <p><small><strong>XHTML:</strong> Вы можете использовать теги в комментариях:<br> <?php echo allowed_tags(); ?></small></p> <p><textarea name="comment" id="comment" tabindex="4"></textarea></p> <p><input name="submit" type="image" id="submit" tabindex="5" src="<?php bloginfo('stylesheet_directory'); ?>/images/comment.jpg" /> <input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" /></p> <?php do_action('comment_form', $post->ID); ?> </form>
Функция для вывода списка тегов которые может использовать комментатор
<p><small><strong>XHTML:</strong> Вы можете использовать теги в комментариях:<br> <?php echo allowed_tags(); ?></small></p> Функция для закрытия цикла добавления комментариев и сообщение о закрытой форме добавления комментариев <?php endif; ?> <?php else : ?> <p><?php _e('Sorry, the comment form is closed at this time.'); ?></p> <?php endif; ?>
ПОЛЕЗНЫЕ ФУНКЦИИ
Функция для вывода последних 7-ми постов
<?php query_posts('showposts=7'); ?> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <a href="<?php the_permalink() ?>"><?php the_title() ?><br></a> <?php endwhile; endif; ?>
Функция для вывода последних 7-ти постов из 5-й категории
<?php global $post; $myposts = get_posts('numberposts=7&category=5'); foreach($myposts as $post) : ?> <li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></li> <?php endforeach; ?>
Функция для вывода связанных (схожих по тематике) постов
<?php st_related_posts('number=7&amp;amp;amp;amp;amp;amp;amp;amp; title=&amp;amp;amp;amp;amp;amp;amp;amp; include_page=false&amp;amp;amp;amp;amp;amp;amp;amp; xformat=<a href="%permalink%" mce_href="%permalink%" title="%title% (%date%)">%title%</a>'); ?>
Функция для вывода последних 7-ти постов через подключение к БД
<? $mysql_host = 'localhost'; $mysql_user = 'пользователь'; $mysql_pass = 'пароль'; $mysql_db = 'база'; mysql_connect($mysql_host, $mysql_user, $mysql_pass) or die("Could not connect DB\n"); mysql_select_db($mysql_db) or die("Could not select database"); $result = mysql_query ("SELECT * FROM wp_posts WHERE post_type='post' ORDER BY post_date DESC LIMIT 7"); while ($row = mysql_fetch_array ($result)) { print <<<TTT <li><a href="http://www.имясайта.org.ru/?p={$row['ID']}">{$row['post_title']}</a></li> TTT; } ?>
Функция для определения шаблона страницы
<?php /* Template Name: name_page */ ?>
Класс!Очень полезный пост!
Статья требует похвалы! Спасибо автору! Этот пост позволил многое разъяснить. Я очень благодарен за проделанную работу!
Спасибо огромное
Действительно то, что надо блогеру, использующему WP. А то хочется для себя красивую тему, из десятков выбираю подходящую, и все нужные фишки приходится вручную подключать правкой темы. Спасибо, автор.
Кто знает подскажите плиз как сделать так что б тебе показывало кол-во комментов к посту но без ссылки?
Просто данная ф-ция:
она выводит кол-во комментов но с ссылкой, а мне надо без, для того что б я смог видоизменить её то есть создать ей стиль в CSS и присоединить.
Ещё раз спасибо.
Классная статья! Добавил к себе в закладки. У меня еще вопросик. А как должна выглядеть функция вывода 5 последних записей с кратким описанием?
Спасибо за comments_number, нигде не мог найти!
Эта метка:
<?php get_footer(); ?>
в новой версии блога, во-первых, под корень срывает дизайн подвала, пихая беспардонно свой, во-вторых, выкладывая И теги, И ещё какой-то блок ссылок, который невозможно из панели убрать, так ещё и вставляет разработчиков, авторство и так далее.
Вопрос - на кой лад мне эта функция, если я могу НОРМАЛЬНЫМ методом подключить нужный мне файл и ни каких проблем?
Я понимаю - напоминание веб мастерам кто хУзяин и создатель блога и кому они должны, но зачем СРАТЬ своими авторствами на сайте? большинство на оборот желают как можно лучше замаскировать систему управления, а они - НА! ХУЙ ВАМ, ЗНАЙТЕ НАС ВСЕ!
Только из-за одной этой выходки можно послать их на грядку и перейти на другую цмс.
Кстати, второй способ подключить сайдбар не работает.
И вот ещё что - не вздумайте устанавливать модуль интернет-магазина "ВП Е-Комерция", дырявый как решето.
Алексей, ну если я правильно Вас понял то так: