Coma Web Development разрабатывает сайты на WordPress c 2010 года. В блоге мы делимся некоторыми наблюдениями из жизни, советами и рекомендациями для тех, кто решит сделать сайт на WordPress самостоятельно.

Как показать количество пользователей, зарегистрированных на сайте?

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

Способ 1. Покажите количество зарегистрированных пользователей с помощью плагина

В первую очередь вам надо будет установить и активировать Simple Blog Stats. Если вы еще не занимались установкой плагинов, то советуем вам заглянуть в наше пошаговое руководство как установить плагин на WordPress. После активации перейдите в Settings > Simple Blog Stats.

WordPress

Этот плагин позволяет вам показывать различную статистику своего сайта. Откройте вкладку шорткодов, пролистайте вниз до пункта number of users — там вы увидите шорткод:

[sbs_users]

WordPress

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

<span class="sbs-count-users">856</span>

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

Способ 2. Показ количества зарегистрированных пользователей вручную с помощью кода

Если вы предпочитаете собственное решение или хотите минимальный код без сторонних плагинов, можно использовать шорткод с оптимизированным кодом, который включает кэширование и встроенную HTML-разметку. Код можно добавить в свой мини-плагин или в functions.php вашей темы:

// Function to get the total user count with caching
function wpb_user_count() {
    // Check if the count is cached
    $cached_count = get_transient('wpb_user_count');
    if ($cached_count !== false) {
        return '<span class="user-count">' . esc_html($cached_count) . '</span>';
    }

    // Get the total number of users
    $usercount = count_users();
    $result = $usercount['total_users'];

    // Cache the result for 1 hour to reduce database load
    set_transient('wpb_user_count', $result, HOUR_IN_SECONDS);

    // Return the result wrapped in HTML for easy styling
    return '<span class="user-count">' . esc_html($result) . '</span>';
}

// Register the shortcode
add_shortcode('user_count', 'wpb_user_count');

Этот код создаёт шорткод [user_count], который вы можете использовать в постах, на страницах или внутри сайдбар-виджета, чтобы отобразить количество пользователей вашего сайта. Число выводится с HTML-классом user-count, что позволяет легко применять к нему стили через CSS. Например, можно добавить в файл темы или в кастомный CSS:

.user-count {
    font-weight: bold;
    color: #2a9d8f;
    font-size: 1.2em;
}

Шорткод можно использовать прямо в тексте поста или страницы:

Join [user_count] other users who share your interests!

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

WordPress

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


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Платные или бесплатные шаблоны WordPress: преимущества и недостатки

Очень многие новички задаются вопросом какой шаблон им выбрать – платный или бесплатный? В чем заключаются преимущества и недостатки каждого? Об этом мы расскажем в этой статье.

Преимущества бесплатных шаблонов

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

WordPress

Главное преимущество бесплатных шаблонов заключается в их цене, вернее, в ее отсутствии. Таким образом, это снижает порог вхождения для начинающего разработчика или предпринимателя. Однако слово «бесплатный» зачастую вызывает у людей определенные сомнения. Возникает закономерный вопрос: зачем кому-то предоставлять тебе бесплатный шаблон, когда другие продают их за деньги? В чем подвох? Очень часто люди думают, что бесплатные шаблоны не отличаются особым качеством, однако это далеко не так.

Строгий процесс отбора

На самом деле к бесплатным шаблонам WordPress зачастую гораздо более высокие требования, поскольку все шаблоны, имеющиеся в официальном списке WordPress, проходят серьезный отбор. В жюри обычно сидят очень талантливые и опытные ребята, которые тщательно проверяют каждый шаблон, прежде чем включать его в свой список. Например, бесплатные шаблоны проверяют на код, безопасность, совместимость с современными плагинами (в том числе WooCommerce, SEO и другими популярными расширениями), качество HTML и CSS, а также базовую оптимизацию скорости и мобильной адаптивности. Для разработки такого шаблона нужны навыки и талант.

Но зачем тогда они отдают даром?

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

Недостатки бесплатных шаблонов WordPress

WordPress

Недостатки платных или бесплатных шаблонов WordPress подчас могут быть очень субъективными. То, что для некоторых будет недостатком, для других может стать преимуществом. Однако есть несколько общих моментов, которые никак не назовешь преимуществами бесплатных шаблонов и это:

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

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

Преимущества премиум-шаблонов WordPress

WordPress

Платные шаблоны доступны для покупки в проверенных магазинах: ThemeForest, StudioPress, Themify и других.

WordPress

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

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

WordPress

Недостатки премиум-шаблонов WordPress

Однако не все платные шаблоны идеальны, возможны следующие проблемы:

  1. слабый код – иногда вам может попасться премиум-шаблон, который красиво выглядит, но из-за низких стандартов к коду несовместим с некоторыми плагинами. Это связано с тем, что подобные шаблоны на разных площадках, в отличие от бесплатных, не всегда проходят столь строгий отбор.
  2. слишком много функций – чтобы продать свои детища, разработчики шаблонов часто добавляют в них необоснованно много функций. Скорее всего, вы никогда не будете использовать и десятой части имеющегося функционала таких шаблонов, но на скорости сайта они все равно скажутся.
  3. вмешательство в работу плагинов – некоторые шаблоны добавляют собственные функции, например шорткоды или специальные типы записей, которые не входят в стандартный функционал WordPress. Если вы используете эти функции и потом смените шаблон, они перестанут работать, так как были частью старой темы, а не отдельного плагина.

Как найти действительно хороший шаблон?

Самый простой способ это покупать из проверенного источника или магазина, заслужившего свою репутацию (ThemeForest, StudioPressThemify). Премиум-шаблоны включают документацию и поддержку, а также совместимы с современными конструкторами страниц (Elementor, Gutenberg).

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

Я в замешательстве… Что мне выбрать?

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

  1. Вам действительно нужна куча функций в виде различных опций, слайдеров и прочего?
  2. В силах ли вы самостоятельно справиться с возможными проблемами при эксплуатации шаблона или же вам понадобится помощь со стороны?
  3. Нужен ли вам профессиональный дизайн или достаточно стандартного шаблона?

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

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


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Что такое functions.php и как его использовать в WordPress?

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

Где находится functions.php и как его использовать

Файл functions.php расположен в папке вашей темы:

wp-content/themes/имя_темы/functions.php

В нём вы можете использовать встроенные функции WordPress, добавлять собственные PHP-функции и подключаться к действиям и фильтрам ядра. Хотя каждая установленная тема имеет свой собственный файл functions.php, работает только тот, который принадлежит активной теме. Если в вашей теме по какой-либо причине нет этого файла, вы можете просто создать текстовый файл с именем functions.php и поместить его в директорию темы.

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

Что можно делать через functions.php (с примерами)

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

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

add_theme_support( 'post-thumbnails' );

Добавление новых форматов записей:

add_theme_support( 'post-formats', array( 'aside', 'gallery', 'quote' ) );

Создание навигационных меню:

register_nav_menus( array(
    'main_menu' => 'Главное меню',
    'footer_menu' => 'Меню в футере',
) );

Подключение собственных скриптов и стилей:

function my_theme_scripts() {
    wp_enqueue_style( 'main-style', get_stylesheet_uri() );
    wp_enqueue_script( 'custom-js', get_template_directory_uri() . '/js/custom.js', array('jquery'), null, true );
}
add_action( 'wp_enqueue_scripts', 'my_theme_scripts' );

Автоматическое добавление текста в конец каждой записи:

function add_custom_text($content) {
    if (is_single()) {
        $content .= '<p>Спасибо за чтение! Подпишитесь на обновления.</p>';
    }
    return $content;
}
add_filter('the_content', 'add_custom_text');

Создание собственного виджета:

class Welcome_Widget extends WP_Widget {
    function __construct() {
        parent::__construct('welcome_widget', 'Приветственный виджет');
    }
    function widget($args, $instance) {
        echo $args['before_widget'] . '<p>Добро пожаловать на наш сайт!</p>' . $args['after_widget'];
    }
}
add_action('widgets_init', function() {
    register_widget('Welcome_Widget');
});

Регистрация пользовательского типа записи (Custom Post Type):

function create_portfolio_post_type() {
    register_post_type('portfolio',
        array(
            'labels' => array('name' => 'Портфолио'),
            'public' => true,
            'has_archive' => true,
            'supports' => array('title', 'editor', 'thumbnail')
        )
    );
}
add_action('init', 'create_portfolio_post_type');

Что лучше помещать в functions.php, а что — в плагин

Functions.php идеален для:

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

Плагин лучше использовать, если:

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

Советы по работе с functions.php

  • Используйте дочернюю тему для внесения изменений, чтобы обновления основной темы не стерли ваши функции.
  • Минимизируйте количество кода в functions.php — если функционал большой или универсальный, лучше сделать плагин.
  • Всегда тестируйте добавленные функции на локальном или тестовом сайте, чтобы не сломать сайт на продакшене.
  • Используйте хуки (actions и filters), чтобы не изменять ядро WordPress и тем самым сохранить совместимость с будущими обновлениями.

Вывод

Файл functions.php остаётся ключевым инструментом для добавления PHP-функций и расширения функционала темы. Он позволяет гибко настраивать сайт, подключать стили и скрипты, добавлять виджеты, шорткоды и пользовательские типы записей.

Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Что такое: Типы постов

Типы постов – термин, используемый для различных видов содержания текста на сайте WordPress. В 2003 WordPress был изначально запущен как платформа для блогов. Посты – это общая терминология блоггинга, которая закрепилась за системой WordPress, в то время как она развилась в систему управления контентом (CMS). Когда WordPress добавил разный тип контента, страницы, они назвали это другим видом постов, отсюда и пошло название «тип поста». В поздних версиях WordPress добавил разработчикам возможность зарегистрировать свои собственные виды постов. В целом, тип поста определяет структуру и поведение конкретного контента.

По умолчанию WordPress предлагает следующие типы:

  • Пост (post)
  • Страница (page)
  • Медиафайл (attachment)
  • Ревизия (revision)
  • Пункт навигационного меню (nav_menu_item)

Дизайнеры и разработчики тем могут добавить пользовательские виды постов при помощи функции register_post_type() или одного из множества плагинов.

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


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Что такое: JavaScript

JavaScript — это язык программирования, встроенный в браузеры, который делает веб-страницы «живыми». Программы на этом языке называются скриптами. В браузере они подключаются к HTML и выполняются сразу после загрузки страницы. JS позволяет добавлять динамичные элементы на сайт: слайдеры, всплывающие окна, кнопки, интерактивные формы и другие элементы интерфейса.

JavaScript в WordPress

WordPress темы и плагины активно используют JavaScript для создания интерактивных и динамических элементов. Чаще всего используется комбинация:

  • Vanilla JS (чистый JavaScript без библиотек)
  • AJAX для динамических запросов без перезагрузки страницы
  • jQuery (для обратной совместимости и старых тем)
  • Современные фреймворки в продвинутых темах: React, Vue.js, Alpine.js

JavaScript может быть добавлен к теме или плагину через стандартные функции WordPress:

// Регистрация и подключение скрипта
wp_register_script( 'custom-js', get_template_directory_uri() . '/js/custom.js', array('jquery'), null, true );
wp_enqueue_script( 'custom-js' );

Совет: напрямую вставлять JS в файлы темы (например, header.php или footer.php), не рекомендуется. Лучше использовать wp_enqueue_script() и при необходимости wp_localize_script() для передачи данных из PHP в JS.

Организация скриптов в теме

Многие темы содержат отдельную папку /js, где хранятся все JavaScript-файлы. Скрипты вызываются только там, где они нужны. Это ускоряет загрузку страницы и предотвращает ненужную загрузку скриптов.

Пример структуры темы:

/wp-content/themes/my-theme/
├── js/
│   ├── main.js
│   ├── slider.js
│   └── popup.js
├── style.css
├── functions.php
└── index.php

Стандартные библиотеки WordPress

WordPress включает несколько библиотек, которые можно использовать в своих темах и плагинах:

  • jQuery — для обратной совместимости
  • Underscore.js — утилитарные функции
  • Backbone.js — для создания структурированных клиентских приложений
  • wp.i18n — для интернационализации
  • wp.apiFetch — для AJAX-запросов к REST API

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

wp_enqueue_script( 'jquery' ); // Подключение jQuery

Вывод

JavaScript остаётся основным инструментом для создания интерактивных сайтов на WordPress. Современные темы используют сочетание ванильного JS, AJAX и фреймворков. Организованный и правильно подключённый JS делает сайт быстрее, удобнее и современнее.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Что такое: Дочерняя Тема

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

Чтобы создать дочернюю тему, необходимо создать отдельную папку внутри каталога тем. Главный файл, без которого она не будет распознана, — это style.css. В его заголовке указывается родительская тема через параметр Template, который должен точно соответствовать имени папки родительской темы. После включения дочерней темы её стили подключаются поверх стилей родительской, поэтому вы можете переопределять любые правила CSS. Родительская тема при этом продолжает работать полностью, предоставляя функциональность, которую вы не изменяли в дочерней теме.

Пример правильного файла style.css дочерней темы

/*
 Theme Name:   My Child Theme
 Theme URI:    https://example.com/
 Description:  Child theme for the Twenty Twenty-Five theme
 Author:       Your Name
 Author URI:   https://example.com/
 Template:     twentytwentyfive
 Version:      1.0.0
 Text Domain:  my-child-theme
*/

/* Ваши пользовательские стили */

Важно:
Template: должен быть строго названием папки родительской темы. Например, если тема находится в /wp-content/themes/twentytwentyfive, то Template: twentytwentyfive.

Пример functions.php для правильного подключения стилей

Хотя дочерняя тема может работать и без собственного functions.php, на практике он нужен почти всегда — прежде всего для подключения стилей родительской темы.

<?php
add_action( 'wp_enqueue_scripts', 'my_child_theme_styles' );
function my_child_theme_styles() {
    // Подключаем стиль родительской темы
    wp_enqueue_style(
        'parent-style',
        get_template_directory_uri() . '/style.css'
    );

    // Подключаем стиль дочерней темы
    wp_enqueue_style(
        'child-style',
        get_stylesheet_directory_uri() . '/style.css',
        array( 'parent-style' )
    );
}

Структура файлов дочерней темы

Минимальная структура выглядит так:

my-child-theme/
│
├── style.css ← обязательный файл
├── functions.php ← подключение стилей и пользовательский код
└── screenshot.png ← (необязательно) миниатюра темы в админке
Вы можете добавлять в дочернюю тему любые файлы с такой же структурой, что и у родительской. Если файл существует и в родительской, и в дочерней теме — используется файл дочерней.

Пример переопределения шаблона:

my-child-theme/
└── header.php ← заменит header.php родительской темы

Поддержка theme.json в дочерних темах

Если родительская тема является блочной темой (FSE), она использует файл theme.json. В дочерней теме можно создавать свой theme.json — он:

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

Пример минимального theme.json в дочерней теме:

{
  "version": 2,
  "settings": {
    "color": {
      "palette": [
        {
          "name": "Брендовый цвет",
          "slug": "brand",
          "color": "#0066ff"
        }
      ]
    }
  }
}


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Что такое: Экран Администратора

Термин Экран Администратора используется для описания различных секций в WordPress, связанных с областью администраторской панели. Причина по которой используется термин «Экраны» а не «страницы», заключается в том, чтобы избежать путаницы между административными экранами и обычными страницами (как типом поста), которые могут быть созданы, отредактированы или удалены пользователем.

WordPress

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

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

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

Администраторы могут также изменять файлы темы или добавлять пользовательский код через экран «Редактор файлов» (Theme File Editor), однако в современных версиях WordPress его использование не рекомендуется, так как прямое редактирование файлов может привести к ошибкам и потере изменений. Для визуального изменения оформления в админ-панели доступен встроенный инструмент Additional CSS в настройщике (Customizer), если он включён темой; он позволяет безопасно добавить собственный CSS без изменения файлов темы.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Как убрать возможность восстановления и смены пароля из WordPress

Зачем убирать восстановление или смену пароля в WordPress

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

Способ первый: убираем опцию восстановления пароля через плагин

Способ с плагином проще и удобнее. Он позволяет вам настроить отмену восстановления пароля для всех пользователей. Вам надо установить и активировать плагин Reset Password Removed.

Примечание: Reset Password Removed отключает восстановление пароля для всех пользователей, включая администраторов.

После активации плагин автоматически убирает ссылку «Забыли пароль?» и блокирует возможность восстановления пароля для всех пользователей.

Способ второй: вручную убираем функцию восстановления пароля в WordPress

Если вы предпочитаете не устанавливать дополнительные плагины, или хотите точечно отключать восстановление пароля для определённых пользователей, можно использовать кастомный код. Для этого откройте любой текстовый редактор и создайте файл, например disable-password-reset.php. Вставьте в него один из ниже приведённых вариантов кода.

Отключение для всех пользователей

Вариант 1: блокировка с перенаправлением и удалением ссылки «Забыли пароль?»

Следующий код полностью блокирует возможность восстановления пароля для всех пользователей, убирает ссылку «Забыли пароль?» на странице входа и перенаправляет всех, кто попытается открыть стандартную страницу сброса пароля, обратно на страницу входа:

<?php
add_filter( 'allow_password_reset', '__return_false' );
add_action( 'login_init', function() {
    if ( isset( $_GET['action'] ) && in_array( $_GET['action'], ['lostpassword', 'retrievepassword'] ) ) {
        wp_redirect( wp_login_url(), 301 ); // Перенаправляет всех на страницу входа
        exit;
    }
});
add_filter( 'gettext', function( $text ) {
    return ( $text === 'Lost your password?' ) ? '' : $text;
});
?>

Вариант 2: блокировка с сохранением возможности восстановления для администраторов

Другой код также полностью блокирует возможность восстановления пароля для всех пользователей и убирает ссылку «Забыли пароль?» на странице входа. Администраторы смогут восстанавливать пароли через админпанель, при этом для обычных пользователей восстановление полностью недоступно:

<?php
class Password_Reset_Removed {
    function __construct() {
        add_filter('show_password_fields', array($this, 'disable'));
        add_filter('allow_password_reset', array($this, 'disable'));
        add_filter('gettext', array($this, 'remove'));
    }

    function disable() {
        $userdata = wp_get_current_user();
        $user = new WP_User($userdata->ID);
        if ( ! empty( $user->roles ) && is_array( $user->roles ) && $user->roles[0] == 'administrator' ) {
            return true; // Администраторы сохраняют возможность восстановления через админпанель
        }
        return false; // Остальные пользователи не могут
    }

    function remove($text) {
        return str_replace(array('Lost your password?', 'Lost your password'), '', trim($text, '?'));
    }
}

$pass_reset_removed = new Password_Reset_Removed();
?>

Отключение для определённых ролей или пользователей

Если нужно блокировать восстановление пароля только для конкретных ролей или отдельных пользователей, используйте код с проверкой ролей или ID пользователей:

Блокировка для всех кроме администраторов:

<?php
add_filter('allow_password_reset', function($allow, $user_id) {
    $user = get_userdata($user_id);
    if (in_array('administrator', $user->roles)) return true; // Администраторы могут сбрасывать пароль
    return false; // Все остальные пользователи не могут
}, 10, 2);
?>

Блокировка для конкретных пользователей по ID:

<?php
add_filter('allow_password_reset', function($allow, $user_id) {
    $blocked_users = [3, 7, 15]; // ID пользователей, для которых восстановление заблокировано
    if (in_array($user_id, $blocked_users)) return false;
    return true; // Остальные пользователи могут сбрасывать пароль
}, 10, 2);
?>

Сохраните ваш файл. Затем соединитесь со своим сайтом по FTP и зайдите в папку wp-content/plugins.

WordPress

Загрузите созданный вами файл в эту папку. Теперь зайдите в админку на страницу Plugins, где вы увидите новый плагин Disable Password Reset в списке установленных. Активируйте его.

WordPress

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


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Что такое: .htaccess

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

В WordPress .htaccess файл в большинстве случаев используется для перезаписи URL, делая их чище, и более читабельными для людей и поисковиков.

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

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

Стоит учитывать, что если Ваш сайт работает на Nginx, то .htaccess не используется — правила перенаправлений, перезаписи URL и кэширования задаются в конфигурации Nginx (например, через nginx.conf) или через панель управления хостинга. При этом современные панели управления (cPanel, Plesk, RunCloud и др.) часто предоставляют возможность автоматического редактирования .htaccess с резервным копированием, что снижает необходимость ручного вмешательства.

Такие плагины как W3 Total Cache, WP Rocket и другие современные решения для кэширования и оптимизации, изменяют Ваш .htaccess файл для настройки кэширования, сжатия и оптимизации ресурсов сайта.

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

Если Вы используете CDN (Cloudflare, BunnyCDN и др.), часть перенаправлений и кэширования может управляться на уровне CDN, а не через .htaccess, что также стоит учитывать при настройке сайта.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520