Начну с того что расскажу почему я захотел написать эту заметку. Иногда случается такое, что просто вылетает из головы та или иная функция, даже самая элементарная, после отпуска например или долгих выходных. Начинаешь гуглить или ищешь в уже сделанных сайта, не совсем удобно, так как теряешь время на этом, поэтому хочу добавить сюда некоторые из них.
Функции для загрузки элементов сайта на Wordrpeess
Загрузка header (Шапка сайта):
<?php get_header(); ?> // - выводит header.php
<?php wp_head(); ?> // - служебная функция, обязательна для правильной работы WP, вставляется в файл header.php между тегами head
Загрузка footer (Нижняя часть сайта)
<?php get_footer(); ?> // - выводит footer.php
<?php wp_footer(); ?> // - тоже служебная функция, и тоже нужна для правильной работы WP и подключаемых плагинов, вставляется в footer.php,
я её обычно вставляю перед закрывающим тегом body
Загрузка sidebar (боковые панели, виджеты, меню)
<?php get_sidebar(); ?> // - выводит sidbar.php
Загрузка контентной части в записях или в страницах
Функция задающая цикл, вставляется обычно в page.php или single.php:
<?php if ( have_posts() ): the_post(); ?>
<?php endif; ?>
Для загрузки заголовка, контента, имени автора, и др.:
<?php the_title(); ?> // - Заголовок статьи
<?php the_content(); ?> // - Текстовая часть
<?php the_excerpt(); ?> // - Выводит цитату или краткое описание, если не указана генерируется автоматически
<?php the_category(', ') ?> // - Выведет список категорий поста разделяя запятыми
<?php the_post_thumbnail(); ?> // - Выводит миниатюру записи
<?php the_author(); ?> // - Имя автора
<?php the_date(); ?> // - Дата публикации
<?php comments_template(); ?> // - Для подгрузки файла шаблона комментариев comments.php
<?php the_permalink() ?> // - выводит прямую ссылку на пост
Дополнительно:
<?php comments_number('нет комментариев', '1 комментарий', '% комментариев'); ?> // - Количество комментариев
<?php previous_post_link('%link', 'Предыдущая статья', true); ?> // - Для перемещения к предыдущей статье
<?php next_post_link('%link', 'Следующая статья', true); ?> // - Для перемещения к следующей статье
Еще бы хотелось упомянуть о произвольных полях
Что бы вывести произвольное поле относящееся к определенной записи нужно вписать следующее, подробнее о них в отдельной заметке
<?php echo get_post_meta($post->ID, 'name', true); ?> // - name это имя произвольного поля
Для наглядности ниже на пример single.php, покажу как я вывожу некоторые функции и условные теги
<?php get_header();?>
<?php if ( have_posts() ): the_post(); ?>
<h1><?php the_title(); ?></h1>
<span><?php the_excerpt(); ?></span>
<div>
<?php the_content(); ?>
</div>
<div>
Категория: <?php the_category(', ') ?>
Дата: <?php the_date(); ?>
Стоимость: <?php echo get_post_meta($post->ID, 'name', true); ?>
</div>
<ul>
<li><?php previous_post_link('%link', 'Предыдущая', true); ?></li>
<li><?php next_post_link('%link', 'Следующая', true); ?></li>
</ul>
<?php endif; ?>
<?php get_footer();?>
Условные теги в WordPress
Условные от слова условие, грубо «Если главная, то картинка в записи будет размером 300х400». Эти теги можно использоваться по разному, на сколько хватит фантазии. Самый элементарный пример:
<a <?php if(is_page('5')) echo 'class="active"'; ?> href="/">Главная</a> // - подставит класс active в ссылку если человек будет находится на главной странице сайта
- is_admin() — если админ зашел на сайт, то условие будет выполнено
- is_single() — если кто-то зашел в пост(запись), то условие будет выполнено
- is_page() — если кто-то зашел на страницу is_page(‘5’) можно так is_page(‘contacts’), то условие будет выполнено
- is_category() — если кто-то зашел на страницу is_category(‘5’), то условие будет выполнено
- is_tag() — условие будет выполнено если кто то перейдет по тегам
- is_author() — условие выполнится для конкретного автора is_author(«Имя автора»)
- is_404() — Если кто то попал на страницу 404, то условие будет выполнено
- has_excerpt() — Если пост имеет анонс, то условие будет выполнено
Не пытаюсь изобрести велосипед и кого то переплюнуть, публикую заметки в первую очередь для себя, если это кому то будет полезно, я буду очень рад. Свои вопросы пишите в комментариях, постараюсь помочь.