главная/Основы WordPress для начинающих программистов: Что Нужно Знать
WordPress основы - что нужно знать

Основы WordPress для начинающих программистов: Что Нужно Знать

WordPress — это мощная платформа для создания и управления веб-сайтами, и если вы только начали изучать ее, вам пригодятся некоторые ключевые понятия и навыки. Давайте рассмотрим основные темы, которые помогут вам стать успешным WordPress программистом.

Хуки и Фильтры

Хуки и фильтры — это механизмы, с помощью которых вы можете встраиваться в работу WordPress и изменять ее поведение. Хуки используются для выполнения действий в определенных точках выполнения кода, а фильтры — для изменения данных перед их отображением.

Вот пример:

// Добавляем хук для изменения заголовка статьи
function custom_modify_title($title) {
    return 'Мой Заголовок: ' . $title;
}
add_filter('the_title', 'custom_modify_title');

Цикл

Цикл (loop) — это основной механизм для отображения контента на вашем сайте. Через цикл вы можете получать и выводить записи (посты) и страницы. Важно понимать структуру цикла и как работать с его элементами.

Пример вывода заголовка и содержимого поста:

if (have_posts()) {
    while (have_posts()) {
        the_post();
        the_title();
        the_content();
    }
}

Глобальные переменные

WordPress предоставляет множество глобальных переменных, которые содержат полезную информацию о текущей странице и запросе. Например, $post содержит информацию о текущей записи, а $wpdb позволяет выполнять запросы к базе данных.

Пример получения заголовка текущей записи:

global $post;
$title = get_the_title($post);

Редиректы

Редиректы позволяют перенаправить пользователя на другую страницу. Это может быть полезно, например, при создании пользовательских страниц для перенаправления после отправки формы.

wp_redirect('https://example.ru');
exit();

Санитизация данных

Санитизация данных — это процесс очистки и проверки данных, получаемых от пользователя, перед их использованием на сайте. Это важно для предотвращения атак на сайт и сохранения целостности данных.

$user_input = sanitize_text_field($_POST['user_input']);

Запросы в базу данных через wpdb

Класс wpdb позволяет выполнять SQL-запросы к базе данных. Это может быть полезно, когда вам нужно извлечь или изменить данные в базе данных.

global $wpdb;
$results = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}my_table");

Работа с медиафайлами

WordPress предоставляет функциональность для загрузки, изменения размеров и отображения медиафайлов, таких как изображения и видео.

Пример вывода изображения:

$image_url = wp_get_attachment_image_src($attachment_id, 'thumbnail');
echo '<img src="' . $image_url[0] . '" alt="Изображение">';

Структура файлов и папок WordPress

Давайте подробнее рассмотрим структуру файлов и папок

  1. Корневая директория (Root Directory):
    • wp-admin/: Эта папка содержит административную часть, где вы управляете вашим сайтом. Здесь находятся файлы для админ-панели.
    • wp-content/: Эта папка содержит пользовательский контент, такой как темы, плагины, загруженные медиафайлы и кастомные шаблоны.
    • wp-includes/: Эта папка содержит ядро WordPress, включая основные библиотеки и файлы, необходимые для работы системы.
  2. Папка wp-content/:
    • themes/: Здесь хранятся темы. Каждая тема обычно имеет свою собственную папку внутри этой директории.
    • plugins/: Здесь находятся установленные плагины WordPress. Каждый плагин также имеет свою собственную папку.
    • uploads/: Эта папка предназначена для хранения всех загруженных медиафайлов, таких как изображения и видео.
  3. Папка темы (Theme Folder):
    • Каждая активная тема имеет свою собственную папку внутри wp-content/themes/. Внутри папки темы обычно находятся следующие файлы и подпапки:
      • style.css: Основной файл стилей темы, который определяет внешний вид сайта.
      • index.php: Главный шаблон, который определяет структуру страницы.
      • functions.php: Файл с функциями темы, где вы можете добавлять пользовательские функции и хуки.
  4. Папка плагина (Plugin Folder):
    • Каждый плагин имеет свою собственную папку внутри wp-content/plugins/. Внутри папки плагина обычно находятся файлы, необходимые для работы этого плагина, включая PHP-файлы и статические ресурсы.
  5. Пользовательские шаблоны (Custom Templates):
    • В темах можно создавать пользовательские шаблоны страниц и записей, которые можно использовать для определенных типов контента или страниц. Эти файлы должны иметь специфические имена, такие как page-custom.php или single-custom.php.

Подключение CSS и Javascript

Подключение стилей (CSS)

Для подключения стилей используется функция wp_enqueue_style(). Вызывайте эту функцию в файле functions.php вашей темы или в плагине.

function enqueue_custom_styles() {
    wp_enqueue_style('custom-style', get_template_directory_uri() . '/css/custom-style.css');
}
add_action('wp_enqueue_scripts', 'enqueue_custom_styles');

Если вы хотите подключить стили только на определенных страницах или для конкретных условий, вы можете использовать условия внутри функции.

Например, чтобы подключить стиль только на странице «О нас»:

function enqueue_custom_styles() {
    if (is_page('about-us')) {
        wp_enqueue_style('custom-style', get_template_directory_uri() . '/css/custom-style.css');
    }
}
add_action('wp_enqueue_scripts', 'enqueue_custom_styles');

Подключение скриптов (JavaScript)

Для подключения JavaScript скриптов в WordPress используйте функцию wp_enqueue_script() также в файле functions.php вашей темы или в плагине.

function enqueue_custom_scripts() {
    wp_enqueue_script('custom-script', get_template_directory_uri() . '/js/custom-script.js', array('jquery'), null, true);
}
add_action('wp_enqueue_scripts', 'enqueue_custom_scripts');

В этом примере, custom-script.js подключается из папки темы и зависит от библиотеки jQuery. Последний параметр true указывает, что скрипт будет загружаться в футере страницы.

Подключение стилей и скриптов в административной части

Если вам нужно подключить стили и скрипты только в административной части, вы можете использовать хук admin_enqueue_scripts.

function enqueue_admin_styles_and_scripts() {
    wp_enqueue_style('admin-custom-style', get_template_directory_uri() . '/css/admin-style.css');
    wp_enqueue_script('admin-custom-script', get_template_directory_uri() . '/js/admin-script.js', array('jquery'), null, true);
}
add_action('admin_enqueue_scripts', 'enqueue_admin_styles_and_scripts');

Аякс запросы и REST API

Аякс запросы (Ajax requests) и REST API (Representational State Transfer Application Programming Interface) — это два важных аспекта веб-разработки, которые могут быть использованы в WordPress для динамической загрузки данных без перезагрузки всей страницы и для взаимодействия с данными и функциональностью через HTTP запросы.

Давайте подробнее разберемся в каждом из них:

Аякс запросы:

  • Что это такое: это технология, которая позволяет выполнять асинхронные запросы к серверу без перезагрузки страницы. Вместо этого, только часть страницы может быть обновлена или изменена в ответ на запрос.
  • Как использовать: Вы можете использовать JavaScript и jQuery для создания аякс запросов. Например, вы можете загрузить новые записи из базы данных или отправить данные на сервер без перезагрузки страницы.

Пример использования:

jQuery.ajax({
    url: 'https://ваш-сайт.com/wp-admin/admin-ajax.php',
    type: 'POST',
    data: {
        action: 'my_custom_ajax_function',
        parameter: 'some_value'
    },
    success: function(response) {
        // Обработка ответа от сервера
        console.log(response);
    }
});

REST API

  • Что это такое: это стандартный способ взаимодействия с веб-сервером посредством HTTP запросов для доступа к данным и функциональности. В WordPress, REST API предоставляет доступ к контенту, пользователям, настройкам и многому другому.
  • Как использовать: WordPress имеет встроенную поддержку REST API, который можно использовать для получения, создания, обновления и удаления данных на сайте. Вы можете отправлять HTTP запросы к соответствующим маршрутам для выполнения различных операций.

Пример использования (получение списка всех записей):

fetch('https://ваш-сайт.com/wp-json/wp/v2/posts')
    .then(response => response.json())
    .then(data => {
        // Обработка полученных данных
        console.log(data);
    });

Дэбаг

Дебаг (отладка) — это процесс исследования и исправления ошибок и проблем в вашем коде. В контексте WordPress, дебаг имеет важное значение, так как это помогает выявить и устранить проблемы в темах, плагинах и других частях вашего веб-сайта.

Включение режима отладки:

WordPress предоставляет константу WP_DEBUG, которую можно использовать для включения или отключения режима отладки.

Пример включения режима отладки в файле wp-config.php:

define('WP_DEBUG', true);

Использование функции error_log():

Вы можете использовать функцию error_log() для записи ошибок и отладочных сообщений в файл журнала, вместо вывода их на экран. Это полезно, если вы не хотите, чтобы сообщения об ошибках отображались для всех пользователей вашего сайта.

Пример записи сообщения в файл журнала:

error_log('Это сообщение об ошибке или отладки.');

Использование инструментов отладки:

В WordPress существует множество плагинов и инструментов для отладки, которые могут значительно упростить процесс. Например, плагин Query Monitor может помочь вам анализировать SQL-запросы и производительность вашего сайта.

Логирование ошибок в PHP

Также вы можете настроить PHP на логирование ошибок, предупреждений и отладочных сообщений в специальные файлы журнала.

Пример настройки PHP для логирования ошибок в файл:

error_reporting(E_ALL);
ini_set('display_errors', 0);
ini_set('log_errors', 1);
ini_set('error_log', '/путь-к-файлу/error.log');