Руководство по WordPress PHP
Опубликовано: 2020-10-16Хотите понять WordPress PHP? В этом посте мы расскажем, что такое PHP и как он работает с WordPress. Понимание PHP и того, как он интегрируется с WordPress, поможет в обслуживании сайта, устранении ошибок и разработке WordPress в целом.
Что такое PHP?
PHP, аббревиатура от Hypertext Preprocessor, представляет собой язык сценариев, используемый примерно 79% пользователей Интернета . PHP позволяет вам делать много мощных вещей, таких как взаимодействие с базой данных, написание условных операторов, получение специфической для WordPress информации, извлечение медиафайлов и многое другое.
WordPress PHP
PHP - это то, что поддерживает WordPress, так как большинство файлов ядра WordPress написаны на этом языке. Если вы посмотрите на список файлов на веб-сайте WordPress, вы увидите, что большинство файлов имеют расширение .php, что означает, что это файл PHP. Большинство PHP-файлов WordPress, перечисленных на скриншоте ниже, необходимы для работы веб-сайта WordPress.
Как работает PHP: сайты WordPress
Давайте посмотрим на реальный пример использования PHP на веб-сайте WordPress. В этом примере мы будем использовать условный оператор, чтобы определить, вошел ли пользователь в систему:
<?php if ( true === user_is_logged_in() ) { echo 'You are logged in!'; } else { echo 'You are not logged in! Please sign in.'; }
Даже если вы не знакомы с PHP, вы можете исключить, что пользователь либо вошел в систему, либо не вошел в систему. Мы используем условное выражение (if / else), чтобы проверить, вошел ли пользователь в систему или нет, если это так, то мы отобразит приветственное сообщение, и если это не так, мы попросим их войти в систему. Хотя это всего лишь базовый пример, вы можете увидеть, насколько мощными могут быть условные выражения.
Вы можете видеть, что мы проверили функцию «user_is_logged_in». Мы знаем, что это функция, поскольку после ее имени есть круглые скобки «()».
Если функция вернет false, то при запуске кода отобразится сообщение:
"Вы не авторизованы! Пожалуйста войдите."
PHP и WordPress
Только из приведенного выше примера вы заметите, что PHP можно встретить в WordPress повсюду. WordPress имеет подсистемы, такие как циклы, которые контролируют количество отображаемых сообщений, а также хуки, которые изменяют функциональность, API, темы и плагины.
WordPress PHP: включить отладку
WordPress по умолчанию не отображает никаких ошибок / предупреждений, генерируемых PHP. Это хорошая практика для сайтов, которые находятся в эксплуатации, но если вы разрабатываете, вы хотите, чтобы это было включено. Чтобы включить отладку, просто измените эту строку в файле wp-config.php, который находится в корневом каталоге WordPress:
define( 'WP_DEBUG', false );
Просто измените константу WP_DEBUG на true , а затем сохраните файл. Теперь будут отображаться все скрытые ошибки или предупреждения, чего мы и хотим.
Цикл и запрос
Запрос - это система, которая собирает, какие сообщения показывать на странице, а цикл - это то, что проходит через каждое сообщение и отображает их соответственно. На вашей домашней странице запрос будет искать самые последние сообщения и получать 10 самых новых сообщений. На странице категории запрос будет искать 10 самых последних сообщений из данной категории. Вы также можете изменить запрос и использовать его для своих целей.
Давайте посмотрим на пример:
<?php if ( have_posts() ) { $i = 0; while ( have_posts() ) { $i++; if ( $i > 1 ) { echo '<hr class="post-separator styled-separator is-style-wide section-inner" aria-hidden="true" />'; } the_post(); get_template_part( 'template-parts/content', get_post_type() ); } } elseif ( is_search() ) { ?> <div class="no-search-results-form section-inner thin"> <?php get_search_form( array( 'label' => __( 'search again', 'twentytwenty' ) ); ?>
Код начинается с проверки, есть ли у функции «have_posts ()» какие-либо данные для выполнения в цикле. Если это произойдет, то он устанавливает переменную $ я в 0. Затем она проходит некоторое время цикл, который представляет собой цикл , который будет работать до тех пор , пока условие истинно (т.е. имеет данные для возврата). Сначала он увеличивает переменную $ i на 1 «$ i ++;», затем запускает условный оператор, проверяющий, больше ли переменная $ i 1. Если да, он отображает некоторый HTML-код для разделения сообщения. После этого получите сообщение с помощью функции «the_posts ()» и отобразите содержимое сообщения с помощью функции «get_template_part ()».

Если это условие не выполняется, то он использует функцию «is_search», чтобы определить, был ли это поиск. Если это так, то он просто отображает некоторый HTML и запускает функцию get_search_form (), которая просит пользователя снова выполнить поиск.
Крючки
WordPress дает разработчикам возможность изменять основные функции. Однако вы не хотите изменять файлы ядра. Это правило №1 разработки, и это просто плохая практика. Иногда это может быть сложно в зависимости от проекта, над которым вы работаете, но здесь на помощь приходят зацепки. WordPress - это все, что связано с хуками, и у него есть два основных крючка, которые используются для разработки. Эти два крючка представляют собой крючки действия и крючки фильтра. Перехватчики действий позволяют добавлять настраиваемый код, а перехватчики фильтров позволяют изменять данные перед их использованием.
Давайте настроить wp_footer , чтобы добавить свой собственный код перед закрывающим тегом тела темы. Если вы откроете файл functions.php темы, вы можете добавить следующий код:
function ithemes_footer_code() { ?> <p>This is the footer.</p> <?php } add_action( 'wp_footer', 'ithemes_footer_code' ); // ---- END // ---- BEGIN if ( ! function_exists( 'ithemes_custom_length_excerpt' ) ) { function ithemes_custom_length_excerpt( $length ) { return 50; } } add_filter( 'excerpt_length', 'ithemes_custom_length_excerpt', 999 );
Этот код создает функцию «ithemes_footer_code», которая используется в качестве функции обратного вызова для функции «add_action ()». Эта функция содержит код, который мы хотели бы выполнить с wp_footer. Для первого параметра add_action мы вызываем wp_footer, что указывает на то, что этот код будет запускаться в нижнем колонтитуле. Второй параметр - это функция обратного вызова (функция, которую мы только что создали), и она будет запускать пользовательский код. Это пример хука действия.
Давайте изменим индивидуальную длину выдержки из сообщения. По умолчанию WordPress отображает 57 символов, но мы можем изменить количество символов на большее или меньшее:
if ( ! function_exists( 'ithemes_custom_length_excerpt' ) ) { function ithemes_custom_length_excerpt( $length ) { return 50; } } add_filter( 'excerpt_length', 'ithemes_custom_length_excerpt', 999 );
Сначала мы проверяем, существует ли уже созданная функция, написав условное выражение для функции «function_exists ()». Если его не существует, мы создаем нашу функцию, и она принимает в качестве аргумента $ length . Затем мы возвращаем значение 50. После этого мы запускаем функцию add_filter (), которая может содержать 4 параметра, но мы используем только три. Это пример крючка фильтра.
Заключение: WordPress PHP
Как видите, простое изучение основ WordPress PHP и того, как PHP реализован в кодовой базе WordPress, дает вам лучшее понимание того, как ваш сайт на самом деле работает за кулисами. Посмотрите несколько наших видеоуроков по PHP: синтаксис, цикл в WordPress и теги шаблонов WordPress.
