Создание аддонов для FreeCAD
3 поста
3 поста
2 поста
3 поста
20 постов
14 постов
4 поста
10 постов
8 постов
6 постов
4 поста
12 постов
5 постов
1 пост
Не надо хейтить (не разводите срач). Это процесс ОБУЧЕНИЯ!
Операторы на Филиппинах, получающие около 250 долларов в месяц, дистанционно управляют роботами, расставляющими товары на полках в японских магазинах.
Дисклеймер. На pikabu нет редактора кода, поэтому код картинками, но в конце я дам ссылку на github, откуда можно будет скопировать блоки кода.
Когда мы создаем контент WordPress, чаще всего используем редактор Gutenberg. Он появился в версии WordPress 5.0 (в декабре 2018 года) и заменил старый добрый TinyMCE. TinyMCE был текстовым редактором из эпохи Web 1.0: над полем <textarea> находились простые кнопки вроде «жирный», «курсив» и «ссылка». Весь текст хранился одной сплошной лентой HTML-кода, и переместить блок или вставить что-то посередине было крайне (sic!) неудобно. Кроме того, TinyMCE не поддерживал адаптивную 12-колоночную разметку, которая стала стандартом де-факто во времена Web 2.0, поэтому сложные макеты приходилось строить вручную с помощью HTML и CSS.
Gutenberg решил эти проблемы. Теперь каждая часть страницы существует как блок — заголовок, параграф, цитата, изображение, таблица или фрагмент кода живут отдельно. Это делает редактирование проще, а страницы — гибкими и адаптивными.
Контент должен одинаково хорошо выглядеть на любых устройствах — от телефона до широкоформатного монитора. Когда сайт не адаптируется к экрану, текст «плывёт», изображения обрезаются, а таблицы вылезают за границы блока. Решается это с помощью адаптивной разметки, которая автоматически перестраивается под ширину экрана.
В основе такой разметки лежит 12-колоночная сетка. Она стала стандартом благодаря фреймворкам вроде Bootstrap и Foundation, и Gutenberg использует тот же принцип: ширина контейнера делится на 12 равных частей (по 8.33 % каждая), из которых можно собрать практически любую компоновку:
1 колонка → [████████████] 100%
2 колонки → [██████][██████] 6/6
3 колонки → [████][████][████] 4/4/4 4
4 колонки → [███][███][███][███] 3/3/3/3
На мобильных устройствах колонки выстраиваются вертикально — контент остаётся читаемым при любой ширине экрана.
Внутри Gutenberg эта идея реализована через блок “Колонки” (Columns), который автоматически подстраивает расположение элементов под ширину окна.
На уровне HTML это контейнеры с классами wp-block-columns и wp-block-column, а за выравнивание отвечает Flexbox:
По сути, Gutenberg автоматически создаёт гибкий контейнер, который можно делить на нужное количество колонок. При уменьшении экрана колонки становятся вертикальными — и это достигается не JavaScript-скриптами, а чисто с помощью CSS.
Одна и та же страница выглядит корректно и на телефоне, и на мониторе — без единой строчки JavaScript.
Но из всех возможностей редактора сейчас нас интересует всего один элемент — блок кода. Он используется, когда нужно показать пример программы, скрипта, конфигурации или команды терминала. Технически это простой HTML-контейнер: <pre> ... </pre>
Gutenberg и TinyMCE отображают его одинаково — как текст, набранный моноширинным шрифтом (чаще всего Consolas, Courier New или Monaco). Без подсветки, без нумерации строк, без выделения синтаксиса. Это решение логично — большинству пользователей подсветка не нужна, а включи её для всех, и редактор стал бы сложнее и тяжелее. Но если вы публикуете примеры кода, инструкции или статьи для разработчиков, то отсутствие подсветки делает материал трудно читаемым. В этом случае на помощь приходит библиотека Prism.js, которая решает проблему просто и изящно.
Мне, почему-то кажется, что программисты Pikabu работают на Gutenberg. А потому, что в Gutenbergе нет подсветки синтаксиса языков программирования. Сейчас я покажу, как решить этот вопрос без установки внешних плагинов. Нам понадобятся: Prism.js, Prism.css 👇👇👇👇
Prism.js — лёгкая и быстрая библиотека, созданная специально для подсветки синтаксиса на веб-страницах. Она не перегружает редактор и делает статьи с кодом читаемыми и профессионально оформленными. Таже она не требует серверных модулей и работает полностью в браузере: скрипт на JavaScript анализирует содержимое тегов <pre><code>..., а таблица стилей prism.css раскрашивает ключевые слова, строки, комментарии и другие элементы кода.
По сути, Prism делает для веб-страниц то же, что IDE делает для программистов — делает код понятным и визуально структурированным.
Поддерживаются десятки языков программирования — от HTML, CSS и JavaScript до Python, PHP и Go — и множество плагинов: нумерация строк, подсветка отдельных строк, отображение языка, копирование в буфер, тёмные и светлые темы.
Пример разметки:
После подключения Prism.js и Prism.css этот код автоматически подсвечивается в браузере, без дополнительного вмешательства.
Библиотека особенно хорошо сочетается с Gutenberg, потому что не требует изменения самого редактора — она работает уже на этапе отображения статьи, обрабатывая всё, что находится между тегами <pre> и <code>.
В WordPress тема — это набор файлов, которые определяют внешний вид сайта: шаблоны страниц, стили оформления, типографику, шапку и подвал, поведение меню и многое другое. Проще говоря, именно тема отвечает за то, как ваш сайт выглядит и реагирует на действия пользователя. Тему можно установить прямо из админки — “Внешний вид → Темы → Добавить” — или загрузить архив вручную в папку /wp-content/themes/. После активации она начинает управлять всей визуальной частью сайта.
Однако вносить правки напрямую в файлы темы — плохая идея. Как только разработчики выпустят обновление родительской темы, WordPress заменит старые файлы новыми, и все ваши изменения будут утеряны. Вся. написанное вами в functions.php или CSS-правило в style.css исчезнут после обновления.
Чтобы избежать этого, в WordPress предусмотрен безопасный механизм — дочерние темы. Дочерняя тема наследует всё содержимое родительской, но хранит собственные правки отдельно. Таким образом, вы можете обновлять родительскую тему сколько угодно, а весь ваш код, настройки и стили останутся нетронутыми. Создать дочернюю тему просто. В каталоге /wp-content/themes/ создайте папку, например mytheme-child, и добавьте в неё файл style.css с базовым описанием. Важно: параметр Template должен точно совпадать с названием папки родительской темы.
Это отображаемое имя темы.
Оно появится в панели администратора WordPress в разделе Внешний вид → Темы.
Можно написать что угодно — главное, чтобы название было понятным и уникальным.
Пример: Theme Name: Neve Child
Это самое важное поле во всём блоке.
Оно говорит WordPress, от какой родительской темы наследуется данная дочерняя тема.
Значение должно в точности совпадать с именем папки родительской темы (а не с её названием в админке).
Например: если родительская тема находится по пути `/wp-content/themes/mytheme/`
то в поле должно стоять:
Template: mytheme
Если ошибиться — WordPress не распознает родителя, и дочерняя тема просто не активируется.
Это внутренний номер версии вашей темы — для порядка и контроля изменений.
WordPress не использует это поле функционально, но оно помогает вести версионирование и отличать ваши обновления.
Обязательные поля: Theme Name, Template
Необязательное, но полезное: Version
Дополнительно можно добавить Description, Author, Author URI, Tags, License и т. д.
Далее создайте functions.php и подключите стили родительской темы, а затем — свои собственные.
После этого активируйте дочернюю тему в разделе “Внешний вид → Темы” — и с этого момента работайте только с ней, ваши изменения будут защищены: даже если родительская тема обновится до новой версии, код в дочерней теме не исчезнет и продолжит работать без изменений.
По сути, Prism делает для веб-страниц то же самое, что делают IDE для программистов — делает код понятным и визуально структурированным. Поддерживаются десятки языков программирования (от HTML, CSS и JavaScript до Python, PHP и Go) и множество плагинов: нумерация строк, подсветка конкретных строк, отображение языка, копирование в буфер, тёмная и светлая темы.
Все действия выполняются в❗ дочерней теме❗, чтобы при обновлении родительской вы не потеряли свой код.
Подключить Prism.js к WordPress можно в несколько шагов — быстро и без плагинов.
Раздел Download состоит из нескольких блоков.
- Compression level. Выберите параметр Minified — это минимизированная версия библиотеки, она весит меньше и загружается быстрее.
- Core. Этот блок включён по умолчанию и обязателен — он содержит основное ядро библиотеки Prism.
- Languages. Выберите языки, для которых хотите включить подсветку синтаксиса.
Рекомендуемый набор:
HTML (Markup)
CSS
JavaScript
PHP
Python
JSON
При необходимости добавьте другие языки — например, Bash, SQL, C-like, Markdown, YAML, Go и т.д.
Plugins.
Вы можете добавить дополнительные функции.
Наиболее полезные из них:
✅ Line Numbers — нумерация строк
✅ Toolbar — панель инструментов
✅ Copy to Clipboard Button — кнопка для быстрого копирования кода
(опционально) Show Language — отображение языка над блоком
(опционально) Highlight Lines — подсветка отдельных строк
После того как вы выбрали нужные компоненты, прокрутите страницу вниз и нажмите две кнопки:
DOWNLOAD JS — чтобы скачать файл prism.js
DOWNLOAD CSS — чтобы скачать файл prism.css
Оба файла необходимо поместить в папку вашей дочерней темы, например:
/wp-content/<themes>/<my-child-theme>/prism.js
/wp-content/<themes>/<my-child-theme>/prism.css
Когда файлы prism.js и prism.css размещены в папке дочерней темы, их нужно подключить.
Для этого откройте файл functions.php вашей темы и добавьте следующий код:
Чтобы не добавлять класс вручную, используем фильтр WordPress, который добавит его ко всем блокам кода:
Если в коде встречаются символы < или >, браузер может попытаться интерпретировать их как HTML-теги. Чтобы этого избежать, добавим фильтр, который заменяет эти символы на безопасные HTML-сущности при сохранении поста:
Добавьте в style.css дочерней темы:
Национальный музей спецподразделения ВМС США «морские котики» опубликовал поздравление с 250-летием флота, использовав фотографию российского ракетного крейсера «Варяг».
Национальный музей спецподразделения ВМС США «морские котики» опубликовал поздравление с 250-летием флота, использовав фотографию российского ракетного крейсера «Варяг». На публикацию музея в соцсети X обратил внимание журналист издания The Wall Street Journal Дэвид Браун.
«Сегодня мы празднуем день рождения Военно-морских сил Соединенных Штатов — 250 лет чести, храбрости и преданности. Спасибо всем, кто служил и продолжает служить нашему народу», — написал музей 13 октября.
Журналист опубликовал целую подборку ошибочных публикаций о годовщине основания американского флота. Так, он заметил, что аккаунт госсекретаря штата Аризона поздравил жителей фотографией советского крейсера «Михаил Кутузов». Сейчас это судно переоборудовано в музей и находится в порту Новороссийска.
Также Браун обнаружил посты о 250-летии ВМС США с фотографиями военных кораблей из Индии и Дании. Кроме этого, некоторые аккаунты использовали изображения кораблей, сгенерированные искусственным интеллектом.
Фото: Dave Brown / X
Цель урока: научиться создавать твёрдые тела (коробки, цилиндры) через Python, понять структуру документа FreeCAD и сделать аддон, который строит параметрическую деталь.
Прежде чем создавать объекты, важно понять иерархию данных в FreeCAD:
Document — это открытый файл (.FCStd). Всё, что вы создаёте, находится внутри документа.
Object — это параметрический объект: коробка, цилиндр, эскиз и т.д.
Shape — это геометрическое тело (B-Rep), которое можно визуализировать.
💡 Вы всегда работаете в контексте активного документа.
Если документа нет — создайте новый:
Самый простой 3D-объект в FreeCAD — это Part::Box.
Пример кода:
doc.addObject("Part::Box", "MyBox")
→ создаёт новый объект типа Box с именем "MyBox"
У объекта есть параметрические свойства: Length, Width, Height
doc.recompute()
→ перестраивает модель (обязательно после изменения параметров!)
🔸 Все размеры — в миллиметрах (по умолчанию в FreeCAD).
Теперь создадим аддон, который создаёт коробку с заданными размерами.
.../Mod/ParamBoxAddon/
Сохраните файлы
Перезапустите FreeCAD
Выберите рабочую среду «Parametric Box»
Нажмите кнопку «Create Box»
✅ Должен появиться серый параллелепипед в 3D-окне.
В дереве проекта (Model) дважды кликните по MyParamBox
В панели Data измените, например, Length на 50
Нажмите Enter → модель автоматически обновится!
Это и есть параметрическое моделирование.
Вы можете создавать не только коробки. Вот несколько примеров:
💡 Все эти объекты находятся в модуле Part, который встроен в FreeCAD.
Измените аддон так, чтобы он создавал цилиндр, а не коробку.
Сделайте так, чтобы при создании объект получал уникальное имя (например, Box_1, Box_2...), если объект с таким именем уже есть.
Добавьте вторую команду — «Create Cylinder» — в ту же рабочую среду.
Подсказка для уникального имени:
Всегда вызывайте doc.recompute() после изменения параметров.
Используйте FreeCAD.Console.PrintMessage("Текст\n") для отладки (сообщения появятся в Report View).
Проверяйте, существует ли документ перед работой с ним.
В Уроке 4 мы:
Научимся создавать графический интерфейс (GUI) с полями ввода.
Сделаем окно, где пользователь вводит длину, ширину и высоту.
И по нажатию кнопки — строится бокс с этими параметрами.
Это уже будет настоящий инструмент, а не просто демонстрация.
Понравилось — ставь «+»
Полезно? Подпишись.
Так я буду знать, какой контент вам интересен.
Вопросы можно задавать в комментариях 👇👇👇
Удачи! 🚀
Статья на github: https://github.com/hypo69/1001-python-ru/blob/master/ru/articles/FreeCAD/3.md
Цель урока: создать простой аддон, который добавляет новую рабочую среду с кнопкой, и при нажатии показывает сообщение.
Дисклеймер. На pikabu нет редактора кода, поэтому код картинками, но в конце я дам ссылку на github, откуда можно будет скопировать блоки кода.
Убедитесь, что у вас есть папка:
.../FreeCAD/Mod/HelloWorldAddon/
Если нет — создайте её.
💡 Имя папки важно: оно должно совпадать с именем модуля в коде.
Мы будем использовать HelloWorldAddon.
Внутри этой папки создайте два файла:
❗ Не используйте пробелы или кириллицу в именах файлов и папок!
Этот файл автоматически запускается FreeCAD при старте, если лежит в папке аддона.
Откройте его в редакторе и вставьте следующий код:
Импортирует нашу рабочую среду из файла hello_workbench.py
Регистрирует её в интерфейсе FreeCAD через FreeCADGui.addWorkbench()
⚠️ Обратите внимание:
from HelloWorldAddon.hello_workbench — здесь HelloWorldAddon — это имя папки, а hello_workbench — имя файла без расширения .py.
Теперь создадим саму рабочую среду.
Вставьте в hello_workbench.py следующий код:
1. Команда (HelloWorldCommand)
GetResources() — описывает, как команда выглядит в интерфейсе
Activated() — что происходит при нажатии
IsActive() — когда кнопка активна (например, только если есть документ)
2. Рабочая среда (HelloWorldWorkbench)
Наследуется от FreeCADGui.Workbench
Метод Initialize() добавляет команды на панель и в меню
GetClassName() говорит FreeCAD: «это Python-рабочая среда»
3. Регистрация
FreeCADGui.addCommand() связывает имя "HelloWorldCommand" с классом
Сохраните оба файла
Закройте FreeCAD (если был открыт)
Запустите FreeCAD заново
💡 FreeCAD загружает аддоны только при старте, поэтому перезапуск обязателен.
В правом нижнем углу FreeCAD нажмите на название текущей рабочей среды (например, «Part Design»)
В выпадающем списке найдите «Hello World» и выберите его
На панели инструментов появится кнопка «Say Hello»
Нажмите её → должно появиться окно с приветствием!
✅ Поздравляем! Вы создали свой первый аддон!
Если аддон не появился или выдал ошибку:
Откройте Report view:
View → Panels → Report view
Ищите красные сообщения об ошибках
ПроблемаРешениеModuleNotFoundError: No module named 'HelloWorldAddon'Проверьте имя папки — оно должно быть точно таким же, как в from HelloWorldAddon...Кнопка есть, но ничего не происходитПроверьте, нет ли ошибок в Activated() (например, забыли import QtGui)Аддон не появляется в спискеУбедитесь, что файл называется именно InitGui.py (не initgui.py, не InitGUI.py)Ошибка синтаксисаПроверьте отступы (в Python они важны!) и скобки
💡 Совет: в Windows имена файлов не чувствительны к регистру, но в Linux/macOS — чувствительны. Лучше писать точно: InitGui.py.
Измените текст сообщения в Activated() на свой
Попробуйте добавить вторую команду (например, «Say Goodbye»)
Добавьте её в тот же список self.list и проверьте, что появляются две кнопки
Пример второй команды:
class GoodbyeCommand: def GetResources(self): return {"MenuText": "Say Goodbye", "ToolTip": "Bye!"} def Activated(self): QtGui.QMessageBox.information(None, "Bye", "До свидания!") def IsActive(self): return True # Не забудьте зарегистрировать! FreeCADGui.addCommand("GoodbyeCommand", GoodbyeCommand())
И обновите список:
self.list = ["HelloWorldCommand", "GoodbyeCommand"]
В Уроке 3 мы:
Научимся создавать настоящие 3D-объекты (коробки, цилиндры)
Разберёмся, как устроена документная модель FreeCAD
Сделаем аддон, который строит параметрическую деталь
Понравилось — ставь «+»
Полезно? Подпишись.
Так я буду знать, какой контент вам интересен.
Вопросы можно задавать в комментариях 👇👇👇
Удачи! 🚀
Цель урока: настроить всё необходимое, чтобы создавать, тестировать и отлаживать аддоны без лишних усилий.
Дисклеймер. На pikabu нет редактора кода, поэтому код картинками, но в конце я дам ссылку на github, откуда можно будет скопировать блоки кода.
FreeCAD версии 0.20 или новее (лучше 1.0+)
Работает на Windows, Linux или macOS
👉 Если у вас ещё нет FreeCAD — скачайте его с официального сайта:
🔗 https://www.freecad.org/downloads.php
Выберите:
Windows: .exe (установщик) или .7z (portable)
Linux: AppImage или пакет из репозитория
macOS: .dmg
💡 Совет: для обучения лучше использовать установленную версию (через установщик), так как она стабильнее и проще в настройке.
FreeCAD ищет пользовательские аддоны в специальной папке Mod.
Путь зависит от вашей ОС и типа установки.
Запустите FreeCAD.
Откройте Python Console:
View → Panels → Python console
Введите команды:
> import FreeCAD
> print(FreeCAD.getUserAppDataDir())
Нажмите Enter.
Вы увидите путь, например:
Windows (установленная версия):
C:\Users\ВашеИмя\AppData\Roaming\FreeCAD\
Windows (portable):
D:\FreeCAD\data\
Linux:
/home/ваше_имя/.local/share/FreeCAD/
macOS:
/Users/ваше_имя/Library/Application Support/FreeCAD/
Внутри этой директории должна быть папка Mod.
Если её нет — создайте вручную.
Пример для Windows:
C:\Users\ВашеИмя\AppData\Roaming\FreeCAD\Mod\
💡 Быстрый способ открыть папку на Windows:
Нажмите Win + R → введите %APPDATA%\FreeCAD → Enter
Хотя можно писать код в Блокноте, удобнее использовать редактор с:
Подсветкой синтаксиса Python
Автодополнением
Возможностью запуска скриптов
Скачайте и установите: https://code.visualstudio.com/
Установите расширение Python (от Microsoft)
Запустите VS Code
File → Open Folder
Выберите папку Mod (или отдельный аддон внутри неё)
Теперь вы видите структуру проекта и можете редактировать файлы с комфортом.
FreeCAD уже содержит всё, что нужно для разработки.
Меню: View → Panels → Python console
Позволяет выполнять команды в реальном времени
Пример: введите App.newDocument() → создастся новый документ
Меню: View → Panels → Report view
Показывает ошибки, предупреждения, логи
Обязательно держите открытым при тестировании аддона!
Меню: Macro → Macros...
Кнопка Record — записывает ваши действия в Python-код
Отличный способ изучить API FreeCAD
💡 Попробуйте:
Нажмите Macro → Start recording
Создайте коробку (Part → Box)
Остановите запись
Откройте макрос — вы увидите реальный код создания объекта.
Чтобы убедиться, что всё работает:
В папке Mod создайте подпапку:
TestAddon
Внутри создайте файл __init__.py (может быть пустым) — это говорит Python, что папка — модуль.
Перезапустите FreeCAD.
Откройте Report view.
Если вы не видите ошибок — значит, FreeCAD успешно сканирует папку Mod.
❗ Если появится ошибка вида ImportError — проверьте:
Правильность имени папки (без пробелов и кириллицы)
Наличие __init__.py (в новых версиях не всегда обязательно, но безопаснее добавить)
К концу этого урока у вас должна быть такая структура:
И вы знаете:
Где лежит Mod
Как открыть Python Console и Report View
Как использовать Macro Recorder
Как настроить VS Code (опционально)
Найдите папку Mod через FreeCAD.getUserAppDataDir()
Создайте папку MyFirstAddon внутри Mod
Добавьте в неё пустой файл __init__.py
Перезапустите FreeCAD
Убедитесь, что в Report view нет ошибок
🎯 Цель: FreeCAD должен запуститься без ошибок и "увидеть" вашу папку.
В Уроке 2 мы создадим рабочий аддон:
Добавим кнопку
Сделаем, чтобы она что-то делала
Научимся регистрировать команды и рабочие среды
Понравилось — ставь «+»
Полезно? Подпишись.
Так я буду знать, какой контент вам интересен.
Вопросы можно задавать в комментариях 👇👇👇
Удачи! 🚀
В первой части я показал, как настроить поддомены, dns записи и ssl.
Сегодня мы настроим конфигурацию wordpress для мультисайтов
Сделайте резервную копию файлов wp-config.php и .htaccess
Сделайте резервную копию базы данных
Проверьте резервную копию базы данных!
Сначала нам нужно "сказать" WordPress, что мы вообще собираемся активировать Multisite. По умолчанию эта функция скрыта.
Подключитесь к вашему сайту по FTP или через файловый менеджер на хостинге.
Откройте файл wp-config.php в корневой папке вашего сайта.
Чтобы разблокировать скрытую функцию мульти сайта найдите строку, которая выглядит так:
/* That's all, stop editing! Happy publishing. */
перед ней добавьте строку
define('WP_ALLOW_MULTISITE', true);
Сохраните файл и загрузите его обратно на сервер.
В административной панели появится новый пункт Настройки -> Установка сети
7. Выберите его. Перед вами откроется окно с двумя блоками кода, которые следует скопировать и вставить с соответствующие файлы wp-config.php и .htaccess
8. Сохраните оба файла. После этого WordPress "выкинет" вас из админки. Это нормально! Это означает, что система переключилась в новый режим.
9. Войдите в систему заново. В меню появятся новые пункты:
Чтобы добавить новый сайт выберите пункт меню Добавить -> Сайт
Заполните префикс, язык, название сайта и электропочту администратора
Аналогично для остальных языков.
Когда на сайте "белый экран смерти" или что-то работает не так, режим отладки — ваш лучший друг.
Включить режим отладки:
WP_DEBUG: Главный "рубильник". Включает (true) или выключает (false) режим отладки.
WP_DEBUG_LOG: Если true, все ошибки будут записываться в файл /wp-content/debug.log. Это лучший способ анализировать проблемы на рабочем сайте, не показывая ошибки посетителям.
WP_DEBUG_DISPLAY: Если true, ошибки будут выводиться прямо на экран. Используйте только на локальном или тестовом сайте!
Рекомендуемая конфигурация для разработки:
Эта комбинация будет записывать все ошибки в файл, но не будет показывать их пользователям:
// Включаем режим отладки
define( 'WP_DEBUG', true );
// Включаем запись ошибок в лог-файл
/wp-content/debug.log define( 'WP_DEBUG_LOG', true );
// Отключаем показ ошибок на экране
define( 'WP_DEBUG_DISPLAY', false ); @ini_set( 'display_errors', 0 );
Для рабочего сайта убедитесь, что WP_DEBUG установлен в false.
define( 'WP_DEBUG', false );
wp-config.php позволяет отключить несколько потенциально небезопасных функций.
Как запретить редактирование файлов тем и плагинов из админки:
Это не позволит администратору (или злоумышленнику, получившему его пароль) редактировать PHP-файлы напрямую из админ-панели.
define( 'DISALLOW_FILE_EDIT', true );
Как принудительно использовать SSL для входа и админ-панели:
Эта настройка гарантирует, что логин и пароль всегда передаются по зашифрованному каналу.
define( 'FORCE_SSL_ADMIN', true );
Как увеличить лимит памяти для PHP:
Иногда сложные плагины или темы требуют больше оперативной памяти, чем выделено по умолчанию, что приводит к ошибке "Allowed memory size... exhausted".
// Устанавливаем лимит в 128 мегабайт
define( 'WP_MEMORY_LIMIT', '128M' );
// Для админ-панели можно выделить еще больше
define( 'WP_MAX_MEMORY_LIMIT', '256M' );
Как отключить встроенный CRON:
WordPress запускает свои запланированные задачи (проверка обновлений, публикация отложенных постов) при каждом посещении сайта. На высоконагруженных проектах это может вызывать задержки. Опытные администраторы отключают встроенный CRON и настраивают его запуск через планировщик на сервере.
define( 'DISABLE_WP_CRON', true );
WordPress сохраняет копию каждой вашей правки (ревизии), что может быстро "раздувать" базу данных.
define( 'WP_POST_REVISIONS', false );
Как ограничить количество ревизий (например, до 5):
define( 'WP_POST_REVISIONS', 5 );
Как изменить время автоочистки корзины (по умолчанию 30 дней):
// Очищать корзину каждые 7 дней
define( 'EMPTY_TRASH_DAYS', 7 );
// Чтобы отключить корзину (удалять навсегда сразу)
define( 'EMPTY_TRASH_DAYS', 0 );
В следующей части я покажу, как настроить плагины для мультиязычного содержимого вашего сайта.
Понравилось — ставь «+»
Полезно? Подпишись.
Так я буду знать, какой контент вам интересен.
Вопросы можно задавать в комментариях 👇👇👇
Удачи! 🚀