Подготовка: настройка вашей локальной среды разработки.
Перед тем, как начать писать какой-либо код, крайне важно настроить стабильную и эффективную локальную среду разработки. Это позволит вам свободно тестировать и отлаживать код, не влияя на работу веб-сайта в Интернете. В настоящее время наиболее популярным вариантом является использование локального серверного пакета, объединяющего Apache/Nginx, MySQL/MariaDB и PHP, такого как Local by Flywheel, XAMPP или MAMP. Убедитесь, что ваша версия PHP не ниже 7.4, и включены необходимые расширения, такие как MySQLi или PDO.
Далее вам необходимо установить новый WordPress на локальном сервере. Скачайте последний установочный пакет с сайта WordPress.org и распакуйте его в корневой каталог веб-сайта на локальном сервере (например, в папку htdocs или www). После этого зайдите на этот сайт через браузер по локальному адресу (например, http://localhost/wordpress).http://localhost/your-siteПосле этого выполните настройку в соответствии с известным процессом “Установка за пять минут”. Запомните название базы данных, имя пользователя и пароль, эта информация понадобится позже.wp-config.phpВ файле.
Наконец, вам понадобится удобный редактор кода или интегрированная среда разработки (IDE). Visual Studio Code, PhpStorm или Sublime Text — отличные варианты, они обеспечивают мощную подсветку синтаксиса, подсказки кода и отладку для PHP, HTML, CSS и JavaScript. Убедитесь, что в редакторе установлены соответствующие фрагменты кода WordPress или плагины для автоматического завершения кода, что значительно повысит эффективность вашей работы.
Рекомендуемое чтение Полное руководство по разработке тем для WordPress: создание персонализированных веб-сайтов с нуля。
Понять базовую структуру и основные файлы темы WordPress.
Одна из самых простых тем WordPress, по сути, та, которая располагается наwp-content/themes/Папки в каталоге, содержащие набор файлов с определёнными функциями. Эти файлы работают вместе, чтобы сообщить WordPress, как отображать контент вашего сайта. Давайте начнём с двух абсолютно необходимых файлов.
Первое — этоstyle.cssЭтот файл - не только таблица стилей вашей темы, но и ее “ID”. Этот файл - не просто таблица стилей вашей темы, это "ID" вашей темы. Его блок комментариев заголовка содержит всю метаинформацию, необходимую WordPress для распознавания темы. Основнойstyle.cssГолова выглядит следующим образом:
/*
Theme Name: My First Theme
Theme URI: https://example.com/my-first-theme/
Author: Your Name
Author URI: https://example.com/
Description: 一个简洁的入门级WordPress主题。
Version: 1.0
License: GPL v2 or later
Text Domain: my-first-theme
*/ Вторым необходимым файлом является…index.phpЭто главный шаблон темы, который WordPress использует по умолчанию для отображения страницы, если не удаётся найти более конкретный шаблон. Даже если изначально он содержит только простую фразу “Hello World”, он всё равно должен присутствовать.
Помимо этих двух файлов, полнофункциональная тема обычно включает в себя:
* header.phpОпределяет верхнюю часть веб-страницы, которая обычно содержит<head>Элементы, заголовки веб-сайтов и главные навигационные меню.
* footer.phpОпределяет область нижней части веб-страницы, содержащую информацию об авторских правах, скрипты и т. д.
* sidebar.phpОпределите область боковой панели.
* functions.phpЭто чрезвычайно мощный файл, используемый для добавления функций в тему, регистрации меню, боковых панелей, а также для включения других скриптов и таблиц стилей.
* page.phpИспользуется для рендеринга статических страниц.
* single.phpИспользуется для отображения отдельной статьи блога.
* archive.phpЭто используется для отображения архивных страниц с категориями и тегами статей.
Создание основного шаблона темы с нуля.
Теперь давайте приступим к созданию основной структуры темы. Во-первых, вwp-content/themes/Создайте новую папку в каталоге и назовите еёmy-first-themeЗатем в нем создайте то, что было упомянуто выше.style.cssиindex.phpДокумент.
Рекомендуемое чтение Основное руководство по созданию современных веб-сайтов: полный процесс от планирования до запуска и практические советы。
Создание шаблонов заголовков и нижних колонтитулов.
Разбиение структуры веб-страницы на повторно используемые компоненты является ключом к эффективной разработке. Мы создаёмheader.phpфайл, который отвечает за вывод начала HTML-документа. В этом файле необходимо использовать параметрwp_head()Функция — это важный хук, который позволяет ядру WordPress, плагинам и вашей теме вставлять здесь необходимый код (например, ссылки на таблицы стилей, метатеги).
<!DOCTYPE html>
<html no numeric noise key 1006>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body no numeric noise key 1003>
<header id="masthead">
<h1><a href="/ru/</?php echo esc_url( home_url( '/' ) ); ?>"></a></h1>
<p></p>
</header> Аналогичным образом, создайте…footer.phpНужно закрыть страницу с помощью файла. Обязательно вызовите эту функцию здесь.wp_footer()Хуки, которые крайне важны для нормальной работы многих плагинов (например, для анализа кода).
<footer id="colophon">
<p>© . Все права защищены.</p>
</footer>
</body>
</html> Соберите главный индексный файл.
С помощью верхнего и нижнего колонтитулов выindex.phpДокументы становятся краткими и убедительными. Используйтеget_header()иget_footer()Чтобы использовать их, применяем шаблонные функции.
<main id="primary">
<?php
if ( have_posts() ) :
while ( have_posts() ) :
the_post();
?>
<article id="post-<?php the_ID(); ?>" no numeric noise key 1006>
<h2><a href="/ru/</?php the_permalink(); ?>"></a></h2>
<div class="entry-content">
</div>
</article>
<?php
endwhile;
else :
echo '<p>В данный момент нет сообщений. </p>';
endif;
? >
</main> Этот код представляет собой типичный “главный цикл”, который проверяет наличие статей, а затем проходит по каждой статье, выводя заголовок (со ссылкой на полный текст) и аннотацию.
Улучшение темы с помощью функциональных файлов
functions.phpЭто “центр управления” вашей темы. Здесь вы можете безопасно изменить стандартное поведение WordPress, не внося изменений в основные файлы.
Регистрация навигационного меню и боковой панели
Чтобы ваша тема поддерживала пользовательское меню, вам необходимо использоватьregister_nav_menus()Функция для регистрации расположения меню. Это обычно делается вfunctions.phpЭто выполняется внутри функции в файле, которая вызывается с помощьюafter_setup_themeВыполнение хука.
Рекомендуемое чтение Создание веб-сайтов от начала до мастерства: Полное руководство по созданию высокопроизводительных сайтов。
function my_first_theme_setup() {
// 注册一个主导航菜单
register_nav_menus( array(
'primary' => __( 'Primary Menu', 'my-first-theme' ),
) );
}
add_action( 'after_setup_theme', 'my_first_theme_setup' ); После регистрации вы сможетеheader.phpИспользуйте это в Китае.wp_nav_menu( array( 'theme_location' => 'primary' ) )Чтобы показать это меню.
Также вы можете использоватьregister_sidebar()Функция для создания области готовности виджетов (боковая панель).
Правильное внедрение скриптов и стилей.
Никогда не устанавливайте жесткие ссылки на файлы CSS или JavaScript непосредственно в файле шаблона. Правильный способ сделать это - использоватьwp_enqueue_scriptsКрючки, использованиеwp_enqueue_style()иwp_enqueue_script()Используйте функцию для добавления в очередь. Это позволит обеспечить правильность зависимостей и избежать повторной загрузки.
function my_first_theme_scripts() {
// 引入主题的主样式表
wp_enqueue_style( 'my-first-theme-style', get_stylesheet_uri(), array(), wp_get_theme()->get('Version') );
// 引入一个自定义JavaScript文件
wp_enqueue_script( 'my-first-theme-navigation', get_template_directory_uri() . '/js/navigation.js', array(), wp_get_theme()->get('Version'), true );
}
add_action( 'wp_enqueue_scripts', 'my_first_theme_scripts' ); резюме
Создание вашей первой темы WordPress — это пошаговый процесс, начиная от настройки среды, понимания базовой структуры и заканчивая написанием основных файлов шаблона и приданием теме динамичности с помощью файлов функций. Ключевым моментом является понимание структуры шаблона (то есть того, как WordPress выбирает файлы шаблона для разных страниц) и того, как использовать эти файлы.functions.phpи различные хуки для расширения функциональности. Хотя тема для начинающих кажется простой, она охватывает все основные концепции. После их освоения вы сможете перейти к изучению более сложных шаблонов (например,single.php、page.phpВы можете создавать многофункциональные и красиво оформленные персональные темы, используя такие расширенные функции, как пользовательские типы статей, API настраиваемых тем и т. д.
Часто задаваемые вопросы
Для создания темы WordPress необходимо хорошо разбираться в PHP?
Не обязательно достигать уровня профессионала, но необходимо иметь базовые знания PHP. Вы должны понимать основное использование переменных, массивов, условных операторов, циклов и функций, потому что шаблоны WordPress по сути являются PHP-функциями. По мере развития ваших навыков вы автоматически освоите больше навыков работы с PHP.
Почему моя тема не отображается в бэкэнде?
Наиболее распространенная причина…style.cssФормат метаинформации в заголовке файла неправильный или в нём отсутствуют обязательные поля (например,Theme NameПожалуйста, тщательно проверьте этот файл, убедитесь, что синтаксис аннотаций правильный, а информация полная. Кроме того, папка с темами должна находиться непосредственно вwp-content/themes/В каталоге не может быть нескольких уровней вложенности.
В чем разница между файлом functions.php и плагинами?
functions.phpЭто часть темы, функциональность которой зависит от активной в данный момент темы. Если вы смените тему, эти функции обычно перестанут работать. Функции, предоставляемые плагинами, не зависят от темы и остаются активными независимо от того, какая тема используется. Обычно функции, тесно связанные с внешним видом и структурой сайта, размещаются вfunctions.phpДля этого лучше использовать плагины, а универсальные, независимые функции (такие как контактные формы, оптимизация SEO) лучше реализовывать в виде плагинов.
Как сделать так, чтобы моя тема поддерживала несколько языков (интернационализацию)?
Вам необходимо использовать функции интернационализации (i18n) WordPress для обработки всех текстовых строк, предназначенных для пользователей. В коде используйте следующее:__( ‘文本’, ‘my-first-theme’ )или_e( ‘文本’, ‘my-first-theme’ )Выведите текст, в которомmy-first-themeЭто ваш текстовый домен (Text Domain), который должен совпадать сstyle.cssЭто соответствует заявлению Китая. Затем вы можете использовать такие инструменты, как Poedit, для генерации перевода..pot\nФайлы шаблонов перевода и.po/.moЯзыковой файл.
Что дальше, что дальше?
Расширенное чтение и практические знания
Следующие статьи связаны с темой этой статьи и подходят для дальнейшего углубленного чтения. Зачастую лучше начать с той статьи, которая наиболее близка к вашей текущей проблеме, а затем постепенно переходить к другим темам.
- Полный обзор хостинга совместного использования: определение, преимущества и недостатки, руководство по выбору и лучшие практики
- Полное руководство по созданию веб-сайтов: анализ основных технологий и практические стратегии от начала до запуска проекта
- Полное руководство по созданию веб-сайтов: десять ключевых шагов к созданию профессионального официального сайта с нуля
- От нуля до мастерства: Полное руководство по созданию веб-сайтов и анализ лучших практик
- Руководство по созданию профессиональных веб-сайтов: построение высокопроизводительных корпоративных сайтов с высоким уровнем конверсии с нуля