Статьи

Руководство разработчика по использованию бесплатных плагинов WordPress

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

В официальном репозитории WordPress теперь более 20 000 плагинов, и все они бесплатны для использования. Любой может загрузить плагин, и если он хорош, он может стать очень популярным. Это, однако, несет некоторые риски. Что если плагин плохо закодирован и сломается? Что, если он несовместим с другими плагинами, используемой темой или даже основными функциями? Что если — не дай бог — он был специально настроен для размещения вредоносного кода на вашем сайте?

Должны ли разработчики использовать бесплатные плагины?

Ответ на этот вопрос зависит от ваших личных предпочтений и статуса вашего проекта. Лично я предпочитаю писать свои собственные плагины, когда это возможно. В реальной жизни это не всегда возможно: требования клиентов, сроки, возможности других членов команды и т. Д. Могут не допускать этого. В таких ситуациях разработчики по понятным причинам рассматривают, может ли бесплатный плагин обеспечить необходимые функции.

Даже опытному разработчику легче, быстрее и экономичнее использовать свободно доступный плагин. В этом нет ничего плохого, но разработчик должен знать, что есть некоторые соображения, которые следует учитывать. Как только вы решите работать с бесплатными плагинами, вы должны учитывать различные факторы при выборе правильного плагина, чтобы предотвратить непредвиденное поведение.

Основы выбора плагинов WordPress

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

Версии и совместимость

проверка версии

Сведения о версии размещаются в верхнем правом углу каждой страницы сведений о плагине WordPress. Убедитесь, что вы используете последнюю версию плагина и что он совместим с версией WordPress, которую вы используете. Если плагин был недавно обновлен, это показатель того, что автор соблюдает требования совместимости.

Загрузки, рейтинги и обзоры

рейтинги

Большое количество загрузок и хорошие оценки пользователей указывают на то, что у пользователей нет проблем с использованием этого плагина. Также не забудьте проверить раздел отзывов, чтобы узнать, почему пользователям нравится этот плагин и какие трудности они могут возникнуть при использовании этого плагина.

Документация и поддержка

documentation

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

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

Нетехнический пользователь, такой как любитель, настраивающий свой собственный веб-сайт, может счесть целесообразным рискнуть использовать плагин, который не имеет адекватной документации и поддержки. Профессиональный разработчик, работающий на клиента, никогда не должен: последствия могут иметь катастрофические последствия для вашей репутации.

Перспектива разработчика

Факторы, упомянутые в предыдущем разделе, относятся ко всем, кто рассматривает возможность использования бесплатного плагина WordPress. Тем не менее, разработчики получают навыки и информацию, недоступные обычному смертному, и поэтому они несут большую ответственность за проверку того, о чем обычные пользователи могут даже не знать.

Тест в не критической среде

Никогда не тестируйте новые плагины в своей производственной среде или любой другой установке WordPress, которая важна для вас. Вместо этого попробуйте сохранить отдельную установку WordPress для целей тестирования с темами по умолчанию и плагинами по умолчанию.

Держите свою тестовую среду в чистоте, чтобы не допустить появления множества неиспользуемых плагинов, которые могут конфликтовать друг с другом. Сделайте вашу среду тестирования максимально похожей на вашу производственную среду. Активируйте выбранный плагин, протестируйте его правильно, а затем удалите, прежде чем тестировать следующий плагин.

Учитывая, что все работает как положено, пришло время покопаться в коде и посмотреть, подходит ли выбранный плагин для использования в ваших реальных приложениях.

Соглашения об именах функций и классов

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

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

Рассмотрим следующие объявления функций.

Не рекомендуется

function get_key() {

}

рекомендуемые

 function akismet_get_key() {

}

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

Таблицы плагинов

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

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

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

Не рекомендуется

 $portfolios = $wpdb->get_results( "SELECT * FROM wp_portfolio");

рекомендуемые

 $portfolios = $wpdb->get_results( "SELECT * FROM “.$wpdb->prefix . portfolio");

Для доступа к этим таблицам требуются пользовательские sql-запросы, поскольку WordPress не предоставляет встроенных методов. Функции WordPress, используемые для доступа к данным из таблиц, оптимизированы для повышения производительности. Так что с пользовательскими таблицами у вас может быть небольшое снижение производительности, поскольку они не оптимизированы.

Проверьте, использует ли ваш плагин пользовательские таблицы, и обязательно примите во внимание приведенные выше рекомендации при выборе плагина.

Безопасность и Спам

Безопасность является серьезной проблемой при использовании бесплатных плагинов. Мы точно не знаем качество кодов и то, что разработчики делают внутри этих кодов. Поэтому важно проверить, содержит ли плагин дыры в безопасности или спам-контент.

  • Сначала нам нужно проверить данные. Если введенные пользователем данные не будут должным образом проверены и дезинфицированы, любой сможет ввести данные, наносящие ущерб нашим сайтам.
  • Затем нам нужно проверить, получает ли плагин доступ к конфиденциальным данным, таким как сведения о конфигурации и пользовательские данные, и отправляет ли их сторонним приложениям.
  • Также нам нужно проверить, отправляет ли плагин электронные письма на неизвестные адреса электронной почты с данными из вашей базы данных или файлов.
  • Некоторые разработчики вставляют спам-контент, такой как ссылки на профили в социальных сетях разработчиков, веб-сайты, партнерские объявления и ссылки, в выходные данные, создаваемые плагином. Обязательно удалите такие вещи из кода или избегайте использования таких плагинов.

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

Специальные параметры плагина

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

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

Рассмотрите следующие коды для создания опций плагина.

Не рекомендуется

 update_option( 'xml', $opt );

update_option( 'social', $opt );

рекомендуемые

 update_option( 'wpseo_xml', $opt );

update_option( 'wpseo_social', $opt );

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

Прямая загрузка CSS и JavaScript

Неопытные разработчики WordPress обычно загружают свои файлы CSS и JavaScripts прямо внутри плагина. Это может вызвать проблемы.

  • Повторяющиеся файлы CSS и JavaScript
  • Увеличено время загрузки страницы и возможность взлома кода.
  • Включает файлы повсюду на странице

С другой стороны, опытные разработчики будут использовать действие wp_enqueue_scripts Он проверяет, загружена ли библиотека и есть ли какие-либо зависимости, прежде чем включать ее в страницу, предотвращая любые дубликаты.

Рассмотрим следующие коды для включения скриптов и стилей.

Не рекомендуется

 function include_scripts_styles(){

    echo ‘<script type="text/javascript" src="jquery.js"></script>’;

    echo ‘<link type="text/css" rel="stylesheet" href="styles.css" />‘;

}

рекомендуемые

 add_action('wp_enqueue_scripts', 'wppc_scripts');
function wppc_scripts() {
    wp_enqueue_script('jquery');
    wp_register_style('sample_style', plugins_url('styles.css', __FILE__));
    wp_enqueue_style('sample_style');
}

Поэтому вы должны предпочесть использовать плагины с более организованным разделом загрузки скриптов и стилей, чтобы избежать проблем с обслуживанием.

Вывод

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

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

Я приглашаю разработчиков WordPress присоединиться к этой беседе и поделиться личным опытом использования бесплатных плагинов. Каковы ваши личные плюсы и минусы? Вы разработали свои собственные процедурные указания и правила техники безопасности? У вас есть правила в отношении плагинов, которые вы будете использовать или не будете использовать?

Я с нетерпением жду ваших комментариев и предложений.