Автор: admin

Как отцентровать элемент div с помощью css

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

В CSS есть несколько способов центрирования div, в зависимости от ситуации. Вот основные:

1. Центрирование по горизонтали (inline-block)

Если div имеет display: inline-block;, можно использовать text-align: center; у родителя:

.parent {
  text-align: center;
}

.child {
  display: inline-block;
}

2. Центрирование по горизонтали (margin auto)

Если div имеет фиксированную ширину, можно использовать margin: auto:

.child {
  width: 200px;
  margin: 0 auto;
}

Вместо строгого width: 200px; можно указывать width: fit-content;

3. Полное центрирование (flexbox)

Самый удобный способ – использовать display: flex; у родителя:

.parent {
  display: flex;
  justify-content: center; /* По горизонтали */
  align-items: center; /* По вертикали */
  height: 100vh; /* Чтобы занять всю высоту экрана */
}

4. Центрирование через Grid

Grid-контейнер позволяет легко центрировать элемент:

.parent {
  display: grid;
  place-items: center;
  height: 100vh;
}

5. Абсолютное центрирование (position absolute)

Если div внутри другого блока, можно использовать position: absolute;:

.parent {
  position: relative;
  height: 100vh;
}

.child {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

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

Всем удачи и до встречи!

Что такое брейкпоинты для медиа-запросов в CSS?

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

Популярные брейкпоинты

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

/* Очень маленькие устройства (вертикальные смартфоны, меньше 576px) */
@media (max-width: 575.98px) {
  /* Стили для очень маленьких экранов */
}

/* Маленькие устройства (горизонтальные смартфоны, от 576px и выше) */
@media (min-width: 576px) and (max-width: 767.98px) {
  /* Стили для маленьких экранов */
}

/* Средние устройства (планшеты, от 768px и выше) */
@media (min-width: 768px) and (max-width: 991.98px) {
  /* Стили для планшетов */
}

/* Большие устройства (десктопы, от 992px и выше) */
@media (min-width: 992px) and (max-width: 1199.98px) {
  /* Стили для больших экранов */
}

/* Очень большие устройства (широкие мониторы, от 1200px и выше) */
@media (min-width: 1200px) {
  /* Стили для очень больших экранов */
}

Кастомные брейкпоинты

Если проект требует более точных настроек, например, под какие-то специфичные устройства, вот пример кастомного брейкпоинта:

/* Для маленьких экранов шириной до 400px */
@media (max-width: 400px) {
  /* Стили для супер-компактных экранов */
}

Медиа-запросы по ориентации экрана

Иногда важно знать, держит пользователь устройство вертикально или горизонтально:

/* Вертикальная ориентация экрана */
@media (orientation: portrait) {
  /* Стили для портретного режима */
}

/* Горизонтальная ориентация экрана */
@media (orientation: landscape) {
  /* Стили для альбомного режима */
}

Медиа-запросы по соотношению сторон

Если проект требует дизайна, завязанного на пропорции экрана:

@media (aspect-ratio: 16/9) {
  /* Стили для экранов с соотношением 16:9 */
}

Лайфхаки для использования брейкпоинтов

  1. Mobile-First подход: Пиши стили сначала для маленьких экранов, а потом используй min-width для более крупных.
  2. Относительные единицы: Вместо пикселей используй em или rem — так дизайн будет адаптироваться под настройки пользователя.
  3. Тестируй на реальных устройствах: Разработчики девтулзы — топ, но ничего не заменит тестов на настоящих девайсах.

Как установить http код 410 для страниц на WordPress

У вас есть удаленные страницы на вашем сайте WordPress, и вы не собираетесь перенаправлять или восстанавливать их даже в будущем?

В этом случае вы можете настроить код статуса HTTP 410 на этих страницах. Это поможет пользователям и поисковым системам понять, что страницы удалены навсегда.

Но что делать, если у вас много удаленных страниц? Установка кода 410 вручную для каждой из них может занять целую вечность.

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

1 Что такое код статуса 410 Gone?

Код статуса 410 Gone — это тип HTTP-ответа, который указывает, что запрошенный ресурс больше не доступен на сервере и не имеет адреса пересылки.

Проще говоря, сервер определил, что запрошенный ресурс навсегда исчез и больше не будет доступен.

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

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

Итак, вы можете видеть, что это отличается от типичного кода 404 Not Found, который предполагает, что ресурс может быть временно недоступен или просто никогда не существовал в этом месте.

Какой код ошибки использовать: 404 или 410 на вашем сайте WordPress?

Ну, это зависит от обстоятельств. Мэтт Каттс из Google сказал в одном из видеороликов Google Search Central:

«Если страница исчезла, и вы думаете, что это временно, используйте 404. Если страница исчезла, и вы не знаете другой страницы, которая могла бы ее заменить, вам некуда больше указывать, и вы знаете, что эта страница исчезнет и никогда не вернется, тогда используйте 410».

Использование кода статуса 404 может привести к тому, что поисковые системы, такие как Google, будут ждать до 24 часов, прежде чем удалить страницу из индекса, поскольку они проверяют, намеренно ли вы это сделали.

Однако, если вы используете код статуса 410, вы даете Google сигнал, что вы уверены в своих действиях, и они немедленно удалят страницу из индекса.

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

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

2 шага для массовой установки кода статуса 410 для WordPress

Через файл .htaccess

Если вы используете сервер Apache, можно настроить код ответа 410 через .htaccess:

  1. Откройте файл .htaccess в корневой папке вашего сайта.
  2. Добавьте строки:
Redirect 410 /example-page
Redirect 410 /another-page

Замените example-page на путь к вашей странице.

Через файл functions.php

Вы можете добавить специальный код в файл functions.php вашей темы:

  1. Откройте файл functions.php вашей активной темы (в меню WordPress: Внешний вид → Редактор темы).
  2. Добавьте следующий код:
function set_410_for_pages() {
    // Укажите URL-адреса страниц, для которых нужен код 410
    $pages_to_410 = [
        'example-page', // Путь к странице: example.com/example-page
        'another-page', // example.com/another-page
    ];

    // Получаем текущий URL
    $current_slug = trim(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH), '/');

    if (in_array($current_slug, $pages_to_410)) {
        // Устанавливаем заголовок 410 и выводим кастомное сообщение
        status_header(410);
        echo '<h1>410 Gone</h1>';
        echo '<p>Эта страница была удалена.</p>';
        exit; // Останавливаем выполнение скрипта
    }
}
add_action('template_redirect', 'set_410_for_pages');

Вывод комментариев в WordPress с ответами

Для того, чтобы вывести все комментарии сайта (а не только для текущей страницы), мы разработали такой код:

<?php $comments = get_comments([
			'status' => 'approve', // Только одобренные комментарии
			'orderby' => 'comment_date_gmt', // Сортировка по дате
			'order' => 'DESC', // Порядок вывода: старые сначала
		]);?>
		<?php 
		// Группируем комментарии по их родителям
		$grouped_comments = group_comments_by_parent($comments);
		
		// Выводим комментарии
		if (!empty($comments)) {
			render_all_comments($comments, $grouped_comments);
		} else {
			echo '<p>' . __('No comments found.') . '</p>';
		}
		?>

// Функция для группировки комментариев по родителю
function group_comments_by_parent($comments) {
	$grouped = array();

	foreach ($comments as $comment) {
		$parent_id = $comment->comment_parent;
		if (!isset($grouped[$parent_id])) {
			$grouped[$parent_id] = array();
		}
		$grouped[$parent_id][] = $comment;
	}

	return $grouped;
}

// Функция для рекурсивного отображения комментариев
function render_all_comments($comments, $grouped, $parent_id = 0, $depth = 0) {
	if (isset($grouped[$parent_id])) {

		foreach ($grouped[$parent_id] as $comment):?>
		<article class="comment <?php if($comment->comment_parent):?>reply<?php endif;?>" id="<?php echo $comment->comment_ID;?>">
			<header class="author-data">
				<?php $date = new DateTime($comment->comment_date);?>
				<address class="author" rel="author"><?php echo $comment->comment_author;?></address>
				<time pubdate datetime="<?php echo $date->format('Y-m-d');?>" title="<?php echo $date->format('F d Y');?>"><?php echo $date->format('h:m:s');?> <span><?php echo $date->format('d.m.Y');?></span></time>
			</header>
			<div class="comment-content"><?php echo $comment->comment_content;?></div>
		</article>
		<?php
			// Рекурсивно отображаем ответы на текущий комментарий
			render_all_comments($comments, $grouped, $comment->comment_ID, $depth + 1);
		?>
		<?php endforeach;?>
	<?php }
}

Получение комментариев

<?php $comments = get_comments([
    'status' => 'approve', 
    'orderby' => 'comment_date_gmt',
    'order' => 'DESC',
]);?>

Функция get_comments получает комментарии:

  • status: только одобренные.
  • orderby: сортируются по дате.
  • order: выводятся в обратном порядке (сначала новые).

Группировка комментариев

$grouped_comments = group_comments_by_parent($comments);

Функция group_comments_by_parent распределяет комментарии по родителям. Это нужно для отображения иерархии (комментарий-ответ).

function group_comments_by_parent($comments) {
    $grouped = array();

    foreach ($comments as $comment) {
        $parent_id = $comment->comment_parent; // ID родительского комментария
        if (!isset($grouped[$parent_id])) {
            $grouped[$parent_id] = array(); // Создаем массив для родителя, если его еще нет
        }
        $grouped[$parent_id][] = $comment; // Добавляем комментарий в группу
    }

    return $grouped;
}

Отображение комментариев

if (!empty($comments)) {
    render_all_comments($comments, $grouped_comments);
} else {
    echo '<p>' . __('No comments found.') . '</p>';
}

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

Функция render_all_comments

function render_all_comments($comments, $grouped, $parent_id = 0, $depth = 0) {
    if (isset($grouped[$parent_id])) {
        foreach ($grouped[$parent_id] as $comment):?>
        <article class="comment <?php if($comment->comment_parent):?>reply<?php endif;?>" id="<?php echo $comment->comment_ID;?>">
            <header class="author-data">
                <?php $date = new DateTime($comment->comment_date);?>
                <address class="author" rel="author"><?php echo $comment->comment_author;?></address>
                <time pubdate datetime="<?php echo $date->format('Y-m-d');?>" title="<?php echo $date->format('F d Y');?>"><?php echo $date->format('h:m:s');?> <span><?php echo $date->format('d.m.Y');?></span></time>
            </header>
            <div class="comment-content"><?php echo $comment->comment_content;?></div>
        </article>
        <?php
            render_all_comments($comments, $grouped, $comment->comment_ID, $depth + 1);
        ?>
        <?php endforeach;?>
    <?php }
}

Эта функция:

  1. Рекурсивно отображает комментарии: сначала выводит корневые, затем вложенные.
  2. Выводит данные комментария:
    • Автор: <?php echo $comment->comment_author;?>.
    • Дата и время: <?php $date->format(); ?>.
    • Текст комментария: <?php echo $comment->comment_content;?>.
  3. Рекурсивно вызывает себя для вложенных комментариев, передавая ID текущего комментария как parent_id.

Резюме

  1. Модулярность: Код хорошо структурирован с использованием функций (group_comments_by_parent и render_all_comments).
  2. Поддержка вложенности: Рекурсия позволяет отображать вложенные комментарии.
  3. Адаптируемость: Можно легко изменить структуру и оформление вывода, редактируя render_all_comments.

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

Почему не работает allposition.ru

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

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

VC.ru

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

Search Engines Guru

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

VC.ru

Ситуация с Allpositions.ru подчеркивает важность планирования преемственности и управления доступом к критически важным ресурсам в бизнесе, чтобы обеспечить непрерывность работы сервисов в непредвиденных обстоятельствах.

От себя же отмечу, что очень жаль, что такой ресурс скорее всего уйдет в нибытие… Был очень хороший и качественный.

Какие есть аналоги AllPositions.ru

Рассмотрим несколько популярных сервисов, которые могут стать достойной заменой AllPositions.ru:

Webtronica.io
Быстрый и удобный сервис мониторинга позиций с прозрачной стоимостью — 4 копейки за сбор одного запроса в одной поисковой системе и регионе. Предоставляет гостевой доступ и возможность импорта истории позиций. Сервис постоянно дорабатывается, учитывая пожелания пользователей.

Serphunt.ru
Инструмент для SEO-специалистов и маркетологов, упрощающий мониторинг позиций. Стоимость проверки позиции — 4 копейки, однако гостевой доступ отсутствует. Предусмотрена функция импорта истории позиций.

Line.pr-cy.ru
Сервис с ценой проверки от 2,5 до 5,5 копеек за позицию. Импорт истории позиций доступен, но гостевой доступ не предусмотрен.

Topvisor.com
Предоставляет проверку позиций по цене от 4,9 до 7 копеек. Имеется гостевой доступ и возможность импорта истории позиций.

Seolib.ru
Стоимость проверки позиции составляет 15–17 копеек. Гостевой доступ предоставляется, однако функция импорта истории позиций отсутствует.

Labrika.ru
Сервис предлагает тарифные планы с ценой проверки от 30 до 39 копеек за позицию. Доступен гостевой доступ и импорт истории позиций.

Seranking.com
Стоимость проверки позиции варьируется от 3,7 до 6,5 копеек. Предоставляется гостевой доступ и возможность импорта истории позиций.

Rush-analytics.ru
Сервис предлагает тарифы с ценой проверки 1 рубль за позицию. Имеется гостевой доступ и функция импорта истории позиций.

Таким образом…

При выборе альтернативы AllPositions.ru рекомендуется учитывать не только стоимость проверки позиций, но и функциональные возможности сервиса, наличие гостевого доступа, поддержку импорта истории позиций и другие параметры, важные для вашей работы. Среди рассмотренных вариантов Webtronica.io выделяется сочетанием низкой стоимости и широкого функционала, что делает его привлекательным выбором для многих специалистов.

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

PS: На данный момент восстановлен функционал сайта allpositions.ru частично. Я так понимаю, что ребята продолжают работы по восстановлению и есть вероятность, что сервис обратно оживет.

noindex, nofollow — хак для плагина Yoast SEO

Иногда необходимо закрыть страницы таксономий на сайте WordPress от индексации поисковыми системами. Если вы используете плагин Yoast SEO, он по умолчанию проставляет метатег noindex, follow. Однако, если вы хотите, чтобы на определенных таксономиях использовалось значение noindex, nofollow, можно добавить следующий код в файл functions.php вашей темы:

Пример кода для установки noindex, nofollow:

// добавляем для нужных таксономий noindex
add_filter('wpseo_robots', 'artit_wpseo_robots', 10, 2);
function artit_wpseo_robots($robots_str, $index) {
    if (is_tax()) { // Проверяем, что это таксономическая страница
        $current_taxonomy = get_queried_object(); // Получаем текущий объект таксономии
        
        // Если текущая таксономия относится к temp_taxonomy или another_temp_taxonomy
        if (in_array($current_taxonomy->taxonomy, ['temp_taxonomy', 'another_temp_taxonomy'])) {
            return 'noindex, nofollow'; // Устанавливаем noindex, nofollow
        }
    }
    // Возвращаем значение по умолчанию для всех остальных случаев
    return $robots_str;
}
// добавляем для нужных таксономий noindex

Объяснение кода:

  1. Добавление фильтра wpseo_robots:
    • Функция add_filter('wpseo_robots', 'artit_wpseo_robots', 10, 2); добавляет фильтр для изменения значений robots в мета-тегах Yoast SEO. Этот фильтр будет вызывать функцию artit_wpseo_robots с двумя аргументами: текущей строкой robots и индексом.
  2. Функция artit_wpseo_robots:
    • Функция artit_wpseo_robots($robots_str, $index) обрабатывает значения для мета-тегов robots.
  3. Проверка, является ли текущая страница таксономией:
    • if (is_tax()) проверяет, что текущая страница является страницей таксономии.
  4. Получение текущего объекта таксономии:
    • $current_taxonomy = get_queried_object(); получает информацию об объекте текущей таксономии.
  5. Проверка конкретной таксономии:
    • if (in_array($current_taxonomy->taxonomy, ['temp_taxonomy', 'another_temp_taxonomy'])) проверяет, является ли текущая таксономия одной из указанных (temp_taxonomy или another_temp_taxonomy).
  6. Применение noindex, nofollow:
    • Если текущая таксономия совпадает с указанными, строка robots изменяется на noindex, nofollow, что запрещает индексацию и следование по ссылкам на странице.
  7. Возврат значения по умолчанию:
    • Если условие не выполнено, функция возвращает исходное значение robots, предоставленное Yoast SEO.

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

Валидация ввода украинских и русских символов в jQuery

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

Основная идея

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

Код валидации

Для реализации валидации создайте следующий скрипт на JavaScript с использованием jQuery:

$("input#billing-first_name, input#billing-last_name").keyup(function() {
    $(this).val($(this).val().replace(/[^а-яА-ЯїЇєЄіІёЁ ]/g, ""));
});

Объяснение работы кода

  1. Выбор полей: В данном примере мы выбираем два поля с идентификаторами billing-first_name и billing-last_name. Это могут быть, например, поля для ввода имени и фамилии в форме.
  2. Отслеживание ввода: Используя метод .keyup(), мы подключаем функцию, которая будет выполняться каждый раз, когда пользователь отпускает клавишу. Это позволяет применять валидацию по мере ввода текста.
  3. Замена символов: Метод .replace() используется для замены всех неподходящих символов на пустую строку. Регулярное выражение /[^а-яА-ЯїЇєЄіІёЁ ]/g определяет:
    • ^ — отрицание, т.е. все символы, не соответствующие выражению;
    • а-яА-Я — русские буквы (и в нижнем, и в верхнем регистре);
    • їЇєЄіІ — буквы, уникальные для украинского языка;
    • ёЁ — буква «ё» в русском алфавите;
    • — пробел (для удобства, если нужно вводить фамилию, состоящую из двух частей).
    Всё, что не попадает под эти символы, будет заменено на пустую строку, т.е. удалено из поля.

Применение и возможные изменения

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

$("input#billing-first_name, input#billing-last_name").keyup(function() {
    $(this).val($(this).val().replace(/[^а-яА-ЯїЇєЄіІёЁa-zA-Z ]/g, ""));
});

Преимущества и ограничения метода

Преимущества:

  • Простота и лёгкость внедрения. Несколько строк кода обеспечивают базовую валидацию.
  • Валидация происходит на стороне клиента, что улучшает UX (пользовательский опыт), так как пользователь сразу видит результат.

Ограничения:

  • Клиентская валидация уязвима, так как её можно обойти при отключённом JavaScript. Поэтому, если важна надёжность, следует продублировать валидацию и на сервере.
  • Скрипт работает только при наличии jQuery, поэтому нужно убедиться, что он подключен к проекту.

Заключение

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

Как добавить robots noindex в WordPress

Привет всем.

Как закрыть сайт на WordPress от индексации?

Сегодня мы закрываем сайт на WordPress от индексации. Расскажем же как это делать…

Первое, что нужно сделать, это зайти в админке вордпресс в меню Settings в подменю Reading и поставить там галочку напротив Discourage search engines from indexing this site

И после нажать Save Changes.

Это пропишет следующее в файле robots.txt

User-agent: *
Disallow:

Однако, это недостаточно. Необходимо еще в сам шаблон темы добавить тег:

<meta name='robots' content='noindex, nofollow' />

Для этого вы можете отредактировать шаблон вашей темы и вставить этот код между открывающимся и закрывающимся тегом head.

Также это можно сделать с помощью кода, прописав его в файле functions.php вашей темы:

add_action( 'wp_head', function() {
echo '<meta name="robots" content="noindex, nofollow" />';
} );

Этот код добавит этот мета тег в тег head вашей темы.

После этого ваш сайт не будет проиндексирован поисковыми системами. Поздравляем! Задача достигнута.

Бесплатные ссылки на свой сайт (free SEO backlinks). Часть 6

Новая порция ресурсов для бесплатного размещения ссылок на ваши сайты.

1) betasio.epizy.com

❇️ Тип: статейная
❇️ Dofollow ссылка
❇️ DR 80

2) onetable.world

❇️ Тип: статейная
❇️ Dofollow ссылка
❇️ DR 56

3) moniispace.com

❇️ Тип: статейная
❇️ Dofollow ссылка
❇️ DR 45

Как отключить автоматическое обновление в WordPress

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

Способ 1: Использование файла wp-config.php

  1. Откройте файл wp-config.php: Этот файл находится в корневой папке вашего сайта WordPress.
  2. Добавьте следующие строки:
    • Чтобы полностью отключить автоматические обновления, добавьте следующую строку в wp-config.php:
define('AUTOMATIC_UPDATER_DISABLED', true);

Это отключит все типы автоматических обновлений: для ядра WordPress, плагинов и тем.

Чтобы отключить автоматические обновления только для ядра WordPress, добавьте эту строку:

define('WP_AUTO_UPDATE_CORE', false);

Таким образом, ядро WordPress не будет обновляться автоматически, но это не повлияет на обновления плагинов и тем.

Способ 2: Использование фильтров в файле functions.php

Откройте файл functions.php вашей темы: Этот файл находится в папке текущей активной темы (wp-content/themes/your-theme/).

Добавьте код для отключения обновлений:

  • Отключение всех автоматических обновлений:
add_filter('automatic_updater_disabled', '__return_true');

Отключение автоматических обновлений ядра WordPress:

add_filter('auto_update_core', '__return_false');

Отключение автоматических обновлений плагинов и тем:

add_filter('auto_update_plugin', '__return_false'); add_filter('auto_update_theme', '__return_false');

Способ 3: Использование плагинов

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

  • Easy Updates Manager: Этот плагин предоставляет интерфейс для настройки автоматических обновлений для ядра, плагинов, тем и даже переводов.

Разъяснение:

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

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