Open Nelfimov opened 3 weeks ago
@Nelfimov
предположительная схема, как я это вижу глядя в диз и учитывая структуру:
main
(хедер, футер, и контактную инфу берем из general-fragments) а также форму
contacts
(хедер и контактную инфу берем из general-fragments) а также форму
далее внутри полей будет разделение на RU & EN, т.е. :
вопрос: как тебе структура? проверь пожалуйста
main, contacts & privacy-policy можно объекдинить в одну вкладку pages
что бы в сайдбаре было аккуратнее
т.е. во вкладках будут такие поля содержащие контент для заполненения сайта - pages, general-fragments
Давай посмотрим на это с точки зрения разделения аналогично коду в наших фронт клиентах:
Последний пункт можно попытаться разбить на домены как мы это сделали в драмине - индивидуальные курсы и обычные курсы .
@Nelfimov
в таком случае не совсем понимаю как ты видишь будущую структуру, цель у нас какая? перевести на ACF + убрать переизбыток фрагментов в сайдбаре?
исходя из драм-ин структуры, будут вкладки в сайдбаре:
у них будут свои поля, в общих фрагментах, например, переиспользуемые contact-info, header и footer форму берем из нинзя поля настраиваем в AFC
я могу накидать структуру непосредственно в WP, не трогая уже работающие сущности, и посмотришь что как
в таком случае не совсем понимаю как ты видишь будущую структуру, цель у нас какая? перевести на ACF + убрать переизбыток фрагментов в сайдбаре?
Да.
Для меня схема - ок.
@TorinAsakura посмотри плиз. С плагинами wp - ты начнешь а мы подхватим?
в таком случае не совсем понимаю как ты видишь будущую структуру, цель у нас какая? перевести на ACF + убрать переизбыток фрагментов в сайдбаре?
Да.
Для меня схема - ок.
@TorinAsakura посмотри плиз. С плагинами wp - ты начнешь а мы
@oksssvv сообщи как будешь готова - начну миграцию
@TorinAsakura а шо готовиться, могу в любое время заняться
@Nelfimov Вчера наш сервер атаковали через уязвимость в ВП на одном из сайтов, поэтому надо прогрейдить на наших ресурсах ВП до латеста.
На ДТ я почти закончил:
Осталось - прогрейдить gQL до последних версий
Я оставил их не тронутыми, так как плагины для gQL не паблятся через репозиторий ВП нам не видно что есть новые версии, поэтому нужно идти на гитхаб, брать свежие версии, накатывать, тестить что всё ок, после этого начинать рефакторинг.
Мне ещё минут 15 на дораскатку ACF Pro и можете забирать эстафету
Раскатал Polylang и ACF Pro. Полилэнг нужно подтьюнить под текущие нужды. Типы записей теперь живут в ACF. Развлекайтесь.
@Nelfimov
тебе нужно что то делать в WP или могу приступать?
ACF можешь уже переносить.
Плагины для "общения" с кодом завтра сделаю.
Ну и старые записи не трогаем чтобы сайт как можно дольше был рабочим.
@Nelfimov у меня ток вопрос как эти самые вкладки в сайдбаре создавать, а то еще со времен драм-ина этот секрет не раскрыт внутри вкладки поля я знаю как делать, а ее саму - нет
@Nelfimov
у меня ток вопрос как эти самые вкладки в сайдбаре создавать, а то еще со времен драм-ина этот секрет не раскрыт
внутри вкладки поля я знаю как делать, а ее саму - нет
Это типы записи. Посмотри раздел в ацф соответствующий, создай для наглядности тестовый по примеру и удали
@oksssvv на всякий случай уточнюсь:
Создаешь в ACF новые записи по схеме, которую ты расписала выше. Старые записи не трогаешь.
у меня ток вопрос как эти самые вкладки в сайдбаре создавать, а то еще со времен драм-ина этот секрет не раскрыт внутри вкладки поля я знаю как делать, а ее саму - нет
Это "Тип записи"
что сделано:
созданы типы записей > записи > поля > контент:
что осталось:
Общие фрагменты / Контактная информация / Социальные сети
GraphQL Field Name
для полей после привязки gql в WP@Nelfimov
появились некоторые вопросы после внедрения новых данных в WP
глядя в старые записи вижу функционал перевода
ссылка в WP на новую Политику конфиденциальности
по схеме, которую я составила это должно было выглядеть как:
Группа
)
Текст
)Текст
)Группа
)
Текст
)Текст
)Вопрос:
т.к. у нас есть плагин Polylang который дает функционал перевода записи ( запись у нас Контент
в данном случае), то как я могу им воспользоваться? ориентируясь на предыдущую структуру в WP, это будет выглядеть таким образом:
Текст
)Текст
)Текст
)Текст
)Верно ли предполагаю и как добавить возможность перевода для созданных сою новых записей?
- нужна ли 404? (там есть захардкоженый ру и ен контент)
Да.
- разобраться с переводами (нет кнопки "Добавить перевод" как в старых записях)
Позже проверю, возможно дело в плагинах
Бэкап стабильного ACF
@Nelfimov
как отобразить новые записи в gql и получить их - я нашла
осталось:
после решения этих двух вопросов - буду готова к переносу кода на новые данные
добавить иконки svg (нет прав для добавления)
Проверь, добавил плагин.
Если нет - добавить 2FA и попробуй еще раз.
разобраться с переводами (не отображается функционал перевода для новых записей)
Нужно создавать две записи для разных языков. Пример: https://wp.dream-team.tech/wp-admin/edit.php?post_type=hero_fragments
@Nelfimov
Нужно создавать две записи для разных языков. Пример: https://wp.dream-team.tech/wp-admin/edit.php?post_type=hero_fragments
я понимаю принцип как оно будет, но у меня нет этого функционала для записей (в отличии от старых)
действия:
Языки
вывод: не нашла добавление функционала перевода записи
вопрос: где я могу подключить возможность переводов новых записей?
местонахождение новых данных: сайдбар wp вкладки: Главная, Политика конфидейнциальности, Контакты, Общие фрагменты
Включаешь тут: https://wp.dream-team.tech/wp-admin/admin.php?page=mlang_settings
Сделал для общих фрагментов.
Если что - документация
https://polylang.pro/doc/working-with-acf-pro/ https://github.com/BeAPI/acf-options-for-polylang
@Nelfimov
возник вопрос получения переводов, т.к. 2 записи не могут иметь одинаковое gql название поля - предыдущий метод получения переводов становится невозможным
например, есть тип записи Not Found, в нем 2 записи RU и EN, эти записи не смотря на то, что поля у них с одинаковым названием должны иметь разные GraphQL Type Name
(иначе в gql будет ошибка), из этого выходит что получение полей gql будет по разным названиям(например notFoundRu & notFoundEn)
поэтому функционал в gql ввиде поля Language > code (RU или EN) становится бесполезным, т.к. мы и так уже четко разделяем получение рускоязычного и англоязычного контента (т.е. нужно будет переписывать логику вытягивания ru и en в нынешнем коде)
вот пример как я вижу получение в такой ситуации:
query notFoundQuery {
ru: notFound(id: "cG9zdDoxNTY1OQ==") {
notFoundRU {
title
textInButton
subtitle
description
}
}
en: notFound(id: "cG9zdDoxNTY3MA==") {
notFoundEN {
title
textInButton
subtitle
description
}
}
}
^ или же можно разбить на 2 отдельных кверя, для РУ и ЕН
пример ответа:
вопрос: такой подход подойдет? на замену сторому
получается что плагит polylang для кода не нужен, возможно только для явного разграничения записей на RU и EN в wordpress
вот пример как выглядел запрос 2х локалей ранее:
export const GET_RECRUITS = gql(`
query GetRecruits {
recruits {
nodes {
title
featuredImage {
node {
mediaItemUrl
title
}
}
language {
code /* здесь мы получаем RU или EN что бы отфильтровать по нему данные */
}
}
}
}
`)
это конечно достаточно удобно, но я не нашла возможности также получить записи по одному пути как это сделано тут, возможно я что то упустила, и такое получение возможно с ACF, можешь меня поправить
@Nelfimov
возник вопрос получения переводов, т.к. 2 записи не могут иметь одинаковое gql название поля - предыдущий метод получения переводов становится невозможным
например, есть тип записи Not Found, в нем 2 записи RU и EN, эти записи не смотря на то, что поля у них с одинаковым названием должны иметь разные
GraphQL Type Name
(иначе в gql будет ошибка), из этого выходит что получение полей gql будет по разным названиям(например notFoundRu & notFoundEn)поэтому функционал в gql ввиде поля Language > code (RU или EN) становится бесполезным, т.к. мы и так уже четко разделяем получение рускоязычного и англоязычного контента (т.е. нужно будет переписывать логику вытягивания ru и en в нынешнем коде)
вот пример как я вижу получение в такой ситуации:
query notFoundQuery { ru: notFound(id: "cG9zdDoxNTY1OQ==") { notFoundRU { title textInButton subtitle description } } en: notFound(id: "cG9zdDoxNTY3MA==") { notFoundEN { title textInButton subtitle description } } }
^ или же можно разбить на 2 отдельных кверя, для РУ и ЕН
пример ответа:
- айдишники будут получаться из хука (который будет юзать квери)
- во фрагменте будет использоваться хук, сам хук будет принимать переданную переменную Language, и в зависимости от нее отдавать данные из запроса RU или EN
вопрос: такой подход подойдет? на замену сторому
получается что плагит polylang для кода не нужен, возможно только для явного разграничения записей на RU и EN в wordpress
вот пример как выглядел запрос 2х локалей ранее:
export const GET_RECRUITS = gql(` query GetRecruits { recruits { nodes { title featuredImage { node { mediaItemUrl title } } language { code /* здесь мы получаем RU или EN что бы отфильтровать по нему данные */ } } } } `)
это конечно достаточно удобно, но я не нашла возможности также получить записи по одному пути как это сделано тут, возможно я что то упустила, и такое получение возможно с ACF, можешь меня поправить
там ведь полиланг явно об этом говорит - на каждый объект локали создавать новую запись, а ты чо, пыталась это делать через поле в записях?
@TorinAsakura
записи создавала, вот главная например:
их поля заполнены RU и EN контентом (в зависимости от локали), но получить и RU и EN одному пути через gql я не могу, потому что в acf у записей нельзя выставить одинаковые названия для gql
вот, 2 записи 404-й страницы, одна на русском другая на анлгийском, поля с одинаковыми именами, контент отличается языком:
GraphQL Type Name
разные, а это значит что по одному пути их не получить, нужно будет вручную указывать хочу я получить notFound на русском или английском, можно это сделать указывая id записи, как показала в предыдущем комменте
там на каждый язык своя запись должна быть - доку полиленга читни краткую
@oksssvv успех есть?
С чем связан запрос на фичу?
Необходимо провести рефактор
WP
у сайта - сгруппировать блоки по функционалу и смыслу.1 этап
Расскажите как вы это себе видите
https://wp.dream-team.tech/wp-admin
К выполнению рефактора в админке и в коде приступать только после согласования плана с @TorinAsakura @Nelfimov
Пометка для @TorinAsakura @Nelfimov - необходимо прогрейдить плагины админки до рефактора.
Приложите пример реализаций
WP
drum-in2 этап
3 этап