Как изменить основной блог (сайт) в WordPress Multisite
В этой заметке рассмотрим, как изменить основной сайт (блог) сети в WordPress Multisite. Например, у нас уже установлена и работает сеть сайтов, и теперь нам нужно изменить основной сайт сети - основной сделать не основным, а один из под-сайтов сделать основным.
Для проведения преобразования необходимо внести изменения в wp-config.php, а также в базу данных.
https://wp-kama.ru/note/change-main-site-wordpress-multisite
В этой заметке рассмотрим, как изменить основной сайт (блог) сети в WordPress Multisite. Например, у нас уже установлена и работает сеть сайтов, и теперь нам нужно изменить основной сайт сети - основной сделать не основным, а один из под-сайтов сделать основным.
Для проведения преобразования необходимо внести изменения в wp-config.php, а также в базу данных.
https://wp-kama.ru/note/change-main-site-wordpress-multisite
👍2❤1
Запрещаем поисковикам индексировать DEV версию сайта
В этой заметке рассмотрим один из способов, как запретить индексацию сайта поисковиками, если это версия сайта для разработки (DEV копия сайта).
Очень часто у сайта есть две или три версии в сети ДЕВ и ПРОД (иногда еще и STAGE). ДЕВ версию всегда нужно закрывать от индексации, делается это по-разному. Не редко её закрывают паролем через .htpasswd, однако это не всегда удобно. Но это можно сделать и через код!
https://wp-kama.ru/note/zapreshhaem-poiskovikam-indeksirovat-dev-versiyu-sajta
В этой заметке рассмотрим один из способов, как запретить индексацию сайта поисковиками, если это версия сайта для разработки (DEV копия сайта).
Очень часто у сайта есть две или три версии в сети ДЕВ и ПРОД (иногда еще и STAGE). ДЕВ версию всегда нужно закрывать от индексации, делается это по-разному. Не редко её закрывают паролем через .htpasswd, однако это не всегда удобно. Но это можно сделать и через код!
https://wp-kama.ru/note/zapreshhaem-poiskovikam-indeksirovat-dev-versiyu-sajta
👍6❤1
Где лучше добавлять хук: до или после коллбэк функции?
Имеет ли значение, где использовать функции add_action() или add_filter() - до или после callback функции - функции, которая используется для хука?
https://wp-kama.ru/note/add-hook-before-or-after-function-declaration
Имеет ли значение, где использовать функции add_action() или add_filter() - до или после callback функции - функции, которая используется для хука?
https://wp-kama.ru/note/add-hook-before-or-after-function-declaration
👍7🤷♂4👏1
Обновили информацию в статье о файле wp-config.php. Пробегитесь по ней хотя бы мельком, вдруг чего нового узнаете.
Если чего-то не хватает - пишите, рады будем добавить!
https://wp-kama.ru/handbook/codex/wp-config-php
Если чего-то не хватает - пишите, рады будем добавить!
https://wp-kama.ru/handbook/codex/wp-config-php
👍25🔥5🤔1
В WordPress 6.3 появилась поддержка регистрации скриптов с атрибутами async и defer в рамках улучшения существующего Scripts API.
Поддерживаются следующие стратегии:
- Блокирование - по умолчанию. Скрипт блокирует загрузку страницы.
- Отложенная - стратегия defer.
- Асинхронная - стратегия async
https://wp-kama.ru/note/script-async-defer-attr
Поддерживаются следующие стратегии:
- Блокирование - по умолчанию. Скрипт блокирует загрузку страницы.
- Отложенная - стратегия defer.
- Асинхронная - стратегия async
https://wp-kama.ru/note/script-async-defer-attr
🔥25👍7🤯1
Forwarded from WP Yoda (Andrei Pisarevskii)
Установка WordPress через Composer
В данной статье мы поговорим про установку WordPress через Composer. Пройдемся пошагово как это сделать. Рассмотрим варианты с установкой WordPress в отдельную директорию, и классический вариант со стандартной файловой структурой.
Читать на русском
Читать на английском
В данной статье мы поговорим про установку WordPress через Composer. Пройдемся пошагово как это сделать. Рассмотрим варианты с установкой WordPress в отдельную директорию, и классический вариант со стандартной файловой структурой.
Читать на русском
Читать на английском
WP Yoda
Установка WordPress через Composer - WP Yoda
В данной статье мы поговорим про установку WordPress через Composer. Пройдемся пошагово как это сделать. Рассмотрим варианты с установкой WordPress в отдельную директорию, и классический вариант со стандартной файловой структурой.
🔥9❤1
YoptaScript - язык программирования для гопников, транслируемый в чистый JavaScript.
Сайт проекта: https://yopta.space/
Пример рабочего кода: https://github.com/grushan/Pong-YoptaScript/blob/develop/Pong/index.html
П.С. Баян, но в очередной раз напоролся, поржал :)
Сайт проекта: https://yopta.space/
Пример рабочего кода: https://github.com/grushan/Pong-YoptaScript/blob/develop/Pong/index.html
П.С. Баян, но в очередной раз напоролся, поржал :)
😁24👎7👍2🔥2❤1
Функция sanitize_locale_name() │ WP 6.2.1
Удаляет все символы, недопустимые в названии локали.
Удаляет из строки всё, кроме: A-Z, a-z, 0-9, _ и -.
Функция похожа на sanitize_key(), но не изменяет регистр (заглавные буквы остаются как есть).
https://wp-kama.ru/function/sanitize_locale_name
Удаляет все символы, недопустимые в названии локали.
Удаляет из строки всё, кроме: A-Z, a-z, 0-9, _ и -.
Функция похожа на sanitize_key(), но не изменяет регистр (заглавные буквы остаются как есть).
https://wp-kama.ru/function/sanitize_locale_name
🔥9❤1👍1
Функция wp_get_development_mode() │ WP 6.3.0
Получает текущий режим разработки: core, plugin, theme, all.
Эта функция возвращает значение константы WP_DEVELOPMENT_MODE. Значение предварительно проверяется, если оно не соответствует стандарту, то вернется пустая строка.
Зачем такое нужно? Допустим мы пишем плагин и хотим сделать так, чтобы в режиме разработки плагинов наш плагин не использовать кэширование, а в любом другом режиме использовал.
https://wp-kama.ru/function/wp_get_development_mode
Получает текущий режим разработки: core, plugin, theme, all.
Эта функция возвращает значение константы WP_DEVELOPMENT_MODE. Значение предварительно проверяется, если оно не соответствует стандарту, то вернется пустая строка.
Зачем такое нужно? Допустим мы пишем плагин и хотим сделать так, чтобы в режиме разработки плагинов наш плагин не использовать кэширование, а в любом другом режиме использовал.
https://wp-kama.ru/function/wp_get_development_mode
👍5❤2
Функция wp_is_development_mode() │ WP 6.3.0
Проверяет, находится ли сайт в указанном режиме разработки: core, plugin, theme, all.
Например:
Проверяет, находится ли сайт в указанном режиме разработки: core, plugin, theme, all.
Например:
if ( wp_is_development_mode( 'theme' ) ) {
// Делаем что-либо
}
https://wp-kama.ru/function/wp_is_development_mode👍7
WP-Kama.ru
Функция wp_is_development_mode() │ WP 6.3.0 Проверяет, находится ли сайт в указанном режиме разработки: core, plugin, theme, all. Например: if ( wp_is_development_mode( 'theme' ) ) { // Делаем что-либо } https://wp-kama.ru/function/wp_is_development_mode
Обновил немного страницу новинок в PHP (не все конечно там еще, но самое интересное вроде добавил):
https://wp-kama.ru/id_6310/php-evolution.html
Особенно крутая на мой взгляд - это
https://wp-kama.ru/id_6310/php-evolution.html#enum
Кто не знаком, познакомьтесь! Если есть код на 8.1 - обязательно юзайте!
Только не надо туда пихать все подряд - а то пыха что-то многое позволяет с ними делать. Это конечно круто, но страшно представить как могут юные умы извратить идею enum :)
https://wp-kama.ru/id_6310/php-evolution.html
Особенно крутая на мой взгляд - это
enum (перечисления) в PHP 8.1! https://wp-kama.ru/id_6310/php-evolution.html#enum
Кто не знаком, познакомьтесь! Если есть код на 8.1 - обязательно юзайте!
Только не надо туда пихать все подряд - а то пыха что-то многое позволяет с ними делать. Это конечно круто, но страшно представить как могут юные умы извратить идею enum :)
👍19❤1
https://github.com/doiftrue/wordpress-composer-repo
Сделал composer репозиторий для установки WordPress через композер.
Фишка в том, что код скачивается с офф сайта, есть возможность скачивать урезанную версию (без wp-content папки). Ну и в целом все работает прозрачно, без зависимостей на не-официальные инсталлеры. Обновляется репозиторий автоматически. Проверка выхода новых версий каждые 12 часов.
Подробнее про установку WP через композер, читайте здесь https://wp-yoda.com/wordpress/ustanovka-wordpress-cherez-composer-2/
С вас лайк, подписка 😋
Сделал composer репозиторий для установки WordPress через композер.
Фишка в том, что код скачивается с офф сайта, есть возможность скачивать урезанную версию (без wp-content папки). Ну и в целом все работает прозрачно, без зависимостей на не-официальные инсталлеры. Обновляется репозиторий автоматически. Проверка выхода новых версий каждые 12 часов.
Подробнее про установку WP через композер, читайте здесь https://wp-yoda.com/wordpress/ustanovka-wordpress-cherez-composer-2/
С вас лайк, подписка 😋
👍35🔥5
Forwarded from WordPress Digest (Mikhail Kobzarev)
Тематический митап по плагину Advanced Custom Fields
Дата проведения: 19.10.2023 19:00 до 21:00
Advanced Custom Fields — популярный плагин с миллионами установок по всему миру. В 6-й версии изменился интерфейс и добавились новые возможности, пришло время сделать подробный разбор плагина.
Митап будет состоять из 2-х частей. Доклад "ACF как инструмент веб-разработчика" и мастер-класс "Стартовая тема FlexStart для создания лендингов".
👉 Подробная информация о митапе
#wordpress #wpdigest #meetup #msk #wpmsk #acf
Дата проведения: 19.10.2023 19:00 до 21:00
Advanced Custom Fields — популярный плагин с миллионами установок по всему миру. В 6-й версии изменился интерфейс и добавились новые возможности, пришло время сделать подробный разбор плагина.
Митап будет состоять из 2-х частей. Доклад "ACF как инструмент веб-разработчика" и мастер-класс "Стартовая тема FlexStart для создания лендингов".
👉 Подробная информация о митапе
#wordpress #wpdigest #meetup #msk #wpmsk #acf
👍17
В WP можно разом полностью отключить проверку обновлений всего (ядра, тем, плагинов и переводов). Для этого нужно указать
Не путайте проверку обновлений и авто-обновления. Авто-обновления отключаются просто и это не тоже самое, что проверка обновления (новых версий).
Деактивация обновлений самого WordPress может быть нужна когда, например, мы хотим обновлять ядро WordPress вручную (или через композер), но при этом мы хотим оставить возможность обновлять плагины через админку.
https://wp-kama.ru/id_16562/disable-wp-updates-check.html
true в константе DISALLOW_FILE_MODS. Однако, нет стандартного способа полностью отключить проверку обновлений только файлов ядра.Не путайте проверку обновлений и авто-обновления. Авто-обновления отключаются просто и это не тоже самое, что проверка обновления (новых версий).
Деактивация обновлений самого WordPress может быть нужна когда, например, мы хотим обновлять ядро WordPress вручную (или через композер), но при этом мы хотим оставить возможность обновлять плагины через админку.
https://wp-kama.ru/id_16562/disable-wp-updates-check.html
👍16🔥1
Хук-фильтр post_search_columns │ WP 6.2.0
Позволяет изменять список столбцов, по которым будет осуществляться поиск при использовании search в WP_Query.
По умолчанию WordPress ищет записи по трем полям:
На момент публикации в примерах вы найдёте информацию о том, как исключить поле
Dan Zakirov, спасибо за помощью в описании 🤝
https://wp-kama.ru/hook/post_search_columns
Позволяет изменять список столбцов, по которым будет осуществляться поиск при использовании search в WP_Query.
По умолчанию WordPress ищет записи по трем полям:
post_title, post_excerpt и post_content.На момент публикации в примерах вы найдёте информацию о том, как исключить поле
post_excerpt из поиска, а так же какие данные приходят в хук.Dan Zakirov, спасибо за помощью в описании 🤝
https://wp-kama.ru/hook/post_search_columns
🔥16👍3
WP-Kama.ru
Хук-фильтр post_search_columns │ WP 6.2.0 Позволяет изменять список столбцов, по которым будет осуществляться поиск при использовании search в WP_Query. По умолчанию WordPress ищет записи по трем полям: post_title, post_excerpt и post_content. На момент…
Ахтунг, ёкарный бабай!
Закралось сомнение, что информация из этой заметки правдива. Мы когда-то делали заметку Добавляем поиск по метаполю в обычный поиск WordPress. Приходилось извращаться. Получается, благодаря новому хуку, теперь этот код в утиль? К сожалению, нет.
Проверили всё поглуже. На скриншоте код класса WP_Query{}, на нём видно, что кроме полей post_title, post_content и post_excerpt не может быть никаких других полей. Обсуждение об этом можете почитать в тикете #43867 (там говорят, что, возможно, список полей будет расширен).
В общем, описание и примеры отредактированы, невиновные наказаны, непричастные награждены! А нам урок, тщательнее проверять описания других ребят, за что им огромное спасибо, держите в тонусе! Одна голова хорошо, а двеурод лучше! Приносим свои извинения 🕊
Закралось сомнение, что информация из этой заметки правдива. Мы когда-то делали заметку Добавляем поиск по метаполю в обычный поиск WordPress. Приходилось извращаться. Получается, благодаря новому хуку, теперь этот код в утиль? К сожалению, нет.
Проверили всё поглуже. На скриншоте код класса WP_Query{}, на нём видно, что кроме полей post_title, post_content и post_excerpt не может быть никаких других полей. Обсуждение об этом можете почитать в тикете #43867 (там говорят, что, возможно, список полей будет расширен).
В общем, описание и примеры отредактированы, невиновные наказаны, непричастные награждены! А нам урок, тщательнее проверять описания других ребят, за что им огромное спасибо, держите в тонусе! Одна голова хорошо, а две
👍14
Forwarded from Финты WordPress (Artem)
А вы знаете, что полной поддержки php 8.1 и выше, нет ни в ядре, ни в большинстве плагинов? Как только переключаешь на 8.1 тут же вываливается вагон
На такой случай рекомендую подавлять именно deprecated, а все остальные ошибки оставить.
Это очень просто сделать плагином KAGG Compatibility. Плагин подавляет
Скачать плагин
На заметку: Плагин предназначен для разработчиков, в нем нет настроек. Все работает через Mu плагин
deprecatedНа такой случай рекомендую подавлять именно deprecated, а все остальные ошибки оставить.
Это очень просто сделать плагином KAGG Compatibility. Плагин подавляет
deprecated но оставляет все остальные ошибки, что позволяет спокойно заниматься разработкой на php 8.1 и выше. Скачать плагин
На заметку: Плагин предназначен для разработчиков, в нем нет настроек. Все работает через Mu плагин
WordPress.org
KAGG Compatibility
The plugin blocks error messages of any level from WordPress core, plugins, and themes.
🔥16❤2👎1
Функция wp_admin_notice() │ WP 6.4.0
Формирует и выводит на экран HTML код заметки (сообщение, ошибку) в верхней части страницы админ-панели.
Да-да, вы не ослышались! Наконец-то в 2023 году такую функцию добавили и теперь не нужно самостоятельно верстать и выводить такие заметки, как мы это делали на хуке admin_notices. Сконфигурировали функцию - получили результат. Также в функции есть хук-событие wp_admin_notice, пока мы не придумали кейс, где бы он понадобился. Может вы подскажете?
Ещё может пригодиться родительская функция wp_get_admin_notice(), например при проверках в foreach - собираете ошибки в массив, а потом в нужный момент выводите на экран всем скопом (такое поведение можно найти в участке кода формирования меню в админке). Другой кейс из движка - страница с опциями - идёт проверка на наличие той или иной опции (значения) и, если что-то не так, функция вызывается прямо рядом в таблице опций.
Возникает вопрос, ведь заметки призваны отображаться вверху страницы, а не как в предыдущих кейсах в таблице и пунктах меню, как так? А всё просто: специальный JS скрипт после рендринга страницы пробегает по DOM и все заметки перемещает в нужное место в порядке их вывода на экран. Это очень удобно!
Но, не смотря на такое удобство, мы призываем по возможности для порядка и логичности вызывать эти функции на специальных хуках, указанных в описании. Подчеркнём, что прямой рекомендации от тех же разработчиков WP мы не нашли на данный момент, это наше личное мнение.
https://wp-kama.ru/function/wp_admin_notice
Формирует и выводит на экран HTML код заметки (сообщение, ошибку) в верхней части страницы админ-панели.
Да-да, вы не ослышались! Наконец-то в 2023 году такую функцию добавили и теперь не нужно самостоятельно верстать и выводить такие заметки, как мы это делали на хуке admin_notices. Сконфигурировали функцию - получили результат. Также в функции есть хук-событие wp_admin_notice, пока мы не придумали кейс, где бы он понадобился. Может вы подскажете?
Ещё может пригодиться родительская функция wp_get_admin_notice(), например при проверках в foreach - собираете ошибки в массив, а потом в нужный момент выводите на экран всем скопом (такое поведение можно найти в участке кода формирования меню в админке). Другой кейс из движка - страница с опциями - идёт проверка на наличие той или иной опции (значения) и, если что-то не так, функция вызывается прямо рядом в таблице опций.
Возникает вопрос, ведь заметки призваны отображаться вверху страницы, а не как в предыдущих кейсах в таблице и пунктах меню, как так? А всё просто: специальный JS скрипт после рендринга страницы пробегает по DOM и все заметки перемещает в нужное место в порядке их вывода на экран. Это очень удобно!
Но, не смотря на такое удобство, мы призываем по возможности для порядка и логичности вызывать эти функции на специальных хуках, указанных в описании. Подчеркнём, что прямой рекомендации от тех же разработчиков WP мы не нашли на данный момент, это наше личное мнение.
https://wp-kama.ru/function/wp_admin_notice
🔥18👍2❤1
Как мы ищем более детальную информацию о хуке или функции?
Если опустить изучение самого кода в движке, то можно сказать сразу идём в трекер и ищем среди тикетов, так как большая часть всякой всячины зарождается именно там. Находим тикет(ы), посвященный, например функции и там узнаём, что за потребность была в ней, какой кейс человек пытался решить внедрением такой функции и много другой не менее интересной информации попадается. Так рождаются более полные описания и добавляются примеры из жизни.
Если вы разрабатываете на WordPress, то крайне рекомендуем посматривать эти тикеты. Так же вы можете помочь другим (а по сути всем, кто пользуется WP), написав патч к описанной в тикете проблемы. Ну или написать свой тикет, если заметили ошибку в движке, или же у вас есть предложения по оптимизации или другое виденье как что-то должно работать по-другому. В этом отчасти сила WordPress - совместная работа и волонтёрство.
https://core.trac.wordpress.org/timeline
Если опустить изучение самого кода в движке, то можно сказать сразу идём в трекер и ищем среди тикетов, так как большая часть всякой всячины зарождается именно там. Находим тикет(ы), посвященный, например функции и там узнаём, что за потребность была в ней, какой кейс человек пытался решить внедрением такой функции и много другой не менее интересной информации попадается. Так рождаются более полные описания и добавляются примеры из жизни.
Если вы разрабатываете на WordPress, то крайне рекомендуем посматривать эти тикеты. Так же вы можете помочь другим (а по сути всем, кто пользуется WP), написав патч к описанной в тикете проблемы. Ну или написать свой тикет, если заметили ошибку в движке, или же у вас есть предложения по оптимизации или другое виденье как что-то должно работать по-другому. В этом отчасти сила WordPress - совместная работа и волонтёрство.
https://core.trac.wordpress.org/timeline
❤9👍3