Wordpress Guide
Для начала нужны:
1. Движок WP - https://wordpress.org/download/
Язык админки = язык сайта
2. Начальный шаблон темы - https://www.dropbox.com/s/p73fzzxhyqw25no/wp-template.zip?dl=0
Далее нужно всю верстку перенести в директорию шаблона.
---------------------------
Полезные сайты:
https://wp-kama.ru
https://generatewp.com
https://codex.wordpress.org/Установка_WordPress
---------------------------
Структура шаблона:
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 — отвечает за формирование формы поиска.
---------------------------
Сниппеты для вывода контента:
Подключение стилей и скриптов в файле /includes/theme_functions.php
if (!function_exists('autozalog_js')) {
function autozalog_js() {
// stylesheet
wp_enqueue_style('core-style', get_template_directory_uri() . '/css/style.css', false, '1');
wp_enqueue_style('theme-style', get_stylesheet_uri(), false, '1');
}
}
function autozalog_footer_script(){
// scripts
wp_enqueue_script('core-scripts', get_template_directory_uri() . '/js/scripts.js', array(), '1.0.0', true );
}
-------------- Простой цыкл - используется в записях блога и статьях
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php endwhile; else : ?>
<p><?php _e( 'Извините, ничего не найдено.' ); ?></p>
<?php endif; ?>
--------------- Цыкл с возможностью настройки выводимого контента - используется если нужно вывести посты из custom_post_type
<?php $the_query = new WP_Query('order=ASC'); ?>
<?php if ( $the_query->have_posts() ) : ?>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php else : ?>
<p><?php _e( 'Извините, ничего не найдено.' ); ?></p>
<?php endif; ?>
--------------- Вывод навигации
<?php wp_nav_menu(array('theme_location' => 'main-menu', 'container' => false)); ?>
--------------- Вывод шорткода
//Self Closed
function example_shortcode( $atts ) {
// Attributes
$a = shortcode_atts( array(
'title' => '',
'link' => ''
), $atts );
return '<a href="' . esc_attr($a['link']) . '">' . esc_attr($a['title']) . '</a>';
}
add_shortcode( 'shortcode', 'example_shortcode' );
//Non Self Closed
function example_shortcode( $atts, $content = null ) {
return '<span>' . do_shortcode($content) . '</span>';
}
add_shortcode( 'shortcode', 'example_shortcode' );
---------------- Вывод сайдбара
//Register Sidebar
function lawyer_widgets_init() {
register_sidebar( array(
'name' => 'Нижний сайдбар',
'id' => 'footer_sidebar',
'before_widget' => '<div class="widget">',
'after_widget' => '</div>',
'before_title' => '<div class="widget-title">',
'after_title' => '</div>'
) );
}
add_action( 'widgets_init', 'lawyer_widgets_init' );
//Embed widgets
<?php if ( is_active_sidebar( 'sidebar_widgets' ) ) : ?>
<div id="primary-sidebar" class="primary-sidebar widget-area" role="complementary">
<?php dynamic_sidebar( 'sidebar_widgets' ); ?>
</div><!-- #primary-sidebar -->
<?php endif; ?>
---------------------------------
---------------------------------
---------------------------------
Работа с метабоксами:
Шаг 1. Нужно установить плагин OptionTree.
Шаг 2. В админке, создать метабоксы через визуальный редактор.
Шаг 3. Вывод контента.
------------------ Обычный метабокс
<?= ot_get_option('id'); ?>
------------------- Список
<?php
$list = ot_get_option('id', array());
foreach ($list as $item) {
echo 'Content';
}
?>
------------------- Галерея
<?php
if ( function_exists( 'ot_get_option' ) ) {
$images = explode( ',', ot_get_option( 'your_id', '' ) );
if ( ! empty( $images ) ) {
foreach( $images as $id ) {
if ( ! empty( $id ) ) {
$full_img_src = wp_get_attachment_image_src( $id, '' );
echo '<li><img src="' . $full_img_src . '"/></li>';
}
}
}
}
?>