Odin v3 beta#480
Conversation
# Conflicts: # .gitignore # 404.php # archive.php # assets/css/editor-style.css # assets/js/main.js # assets/js/main.min.js # author.php # category.php # comments.php # core/assets/css/admin.css # core/assets/js/admin-custom-status.js # core/assets/js/admin.js # core/assets/js/editor-shortcodes.js # core/classes/class-shortcodes-menu.php # core/classes/class-shortcodes.php # core/classes/class-thumbnail-resizer.php # core/classes/widgets/class-widget-like-box.php # footer.php # functions.php # gulpfile.js # header.php # image.php # inc/admin/config.php # inc/classes/class-bootstrap-nav.php # inc/classes/class-thumbnail-resizer.php # inc/cleanup.php # inc/core/assets/css/admin.css # inc/core/assets/images/odin-thumb-placeholder.jpg # inc/core/assets/images/placeholder.png # inc/core/assets/js/admin-custom-status.js # inc/core/assets/js/admin.js # inc/core/assets/js/editor-shortcodes.js # inc/core/classes/abstracts/abstract-front-end-form.php # inc/core/classes/class-contact-form.php # inc/core/classes/class-metabox.php # inc/core/classes/class-options-helper.php # inc/core/classes/class-post-form.php # inc/core/classes/class-post-status.php # inc/core/classes/class-post-type.php # inc/core/classes/class-shortcodes-menu.php # inc/core/classes/class-shortcodes.php # inc/core/classes/class-taxonomy.php # inc/core/classes/class-term-meta.php # inc/core/classes/class-theme-options.php # inc/core/classes/class-thumbnail-resizer.php # inc/core/classes/class-user-meta.php # inc/core/classes/widgets/class-widget-like-box.php # inc/core/odin-shortcodes-editor-i18n.php # inc/css/odin-admin.css # inc/js/admin-custom-status.js # inc/js/editor-shortcodes.js # inc/js/odin-admin.js # inc/odin-shortcodes-editor-i18n.php # inc/shortcodes/class-odin-shortcodes-menu.php # inc/shortcodes/class-odin-shortcodes.php # inc/shortcodes/odin-shortcodes-editor-i18n.php # inc/template-tags.php # inc/theme/functions.php # inc/widgets/class-odin-widget-like-box.php # index.php # package.json # page-sidebar.php # page.php # search.php # searchform.php # sidebar.php # single.php # src/img/logo-login.svg # src/scss/admin-style.scss # src/scss/shared/_wordpress.scss # style.css # tag.php # template-parts/content-page.php # template-parts/content.php
|
Testei por aqui @adammacias, tudo certo! Achei bem interessante a estruturação, a primeira vista tá bem fácil de compreender, e aparentemente produtivo para desenvolver, mas aí só pegando pra fazer um projeto pra sentir. Vamos ver o que o resto da galera acha! |
|
Demorei mas testei tb..rs Encontrei apenas um problema no menu. Pois ele aparece "desconfigurado". Quando fui na parte administrativa para alterar o menu, recebi a seguinte mensagem: Verifiquei que no código não é feito o registro do menu (register_nav_menu). Ao fazer esse registro a mensagem desaparece, mas o menu fica da mesma forma. |
|
Vou testar em meu WAMP assim que puder. Mas parece estar muito bom só pelas imagens. |
|
Eu encontrei um "erro" com integração com o plugin odin-toolkit + Odin v3. Ele solicita a pasta "core" aonde estão o css + js para criação dos campos personalizados... A minha duvida é se criamos uma pasta dentro do plugin "que eu acho muito mais viável" ou deixamos na pasta do tema :) |
|
@chrdesigner o Odin Toolkit ficou meio que no limbo, precisa de uns updates, tem vários bugzinhos mesmo, acabei seguindo com um fork do projeto enquanto as coisas no Odin avançavam a passos lentos: https://github.com/HasteDesign/Haste-Toolkit Mas com essa renovada da v3, vou tentar dar um tapa no Toolkit também |
- Required and recommended plugins should start commented and be activated if needed
Cross platform compatibility
Olá, sou novo por aqui, Minha única crítica é que ficar mascarando o uso do bootstrap pode ser mais chato que simplesmente usar as classes esplicitamente, por exemplo: eu quis substituir o search_form do topbar por um navbar-nav, então eu acabo duplicando alguns estilos que poderiam estar sendo usados uma unica vez. Encontrei um outro "erro" no _wordpress.scss na linha 92 temos essa declaração: Porém, com essa declaração quebra-se as palavras em qualquer lugar e nem coloca o hifen de quebra "-", para consertar isso é só trocar o |
Conforme já indicado em #493
Adição do hook wp_body_open() no Tema
|
@allysonsouza @anyssa @adammacias Como tá o andamento disto? Eu aprovei 3 PRs do @hansmosl que tinham mudanças menores com atualizações de filtros deprecados e inclusão de tags novas, nada que vá criar uma enorme diferença, mas causam conflito com esta nova versão que tá pra sair, tem previsão de release dela ou é só um projeto mesmo? |


Galera, o peguei as últimas semanas para dar atenção especial para o Odin. Levei em consideração os tópicos #328 e #411 e agradeço demais o pessoal que sugeriu as mudanças e entrou na discussão.
Segue alguns destaques dessa versão:
npm run devinicia modo de desenvolvimento com atualização em tempo real com browsersync.npm run buildcompila e minifica arquivos assets (CSS, JS, Imagens e Fonts) para produçãodist.npm run build:{css,js,img,fonts}compila individualmente arquivos assets para produçãodist.npm run lang:checktextdomainverifica text domain nos arquivos PHP do tema.npm run lang:addtextdomainadiciona text domain nos arquivos do tema.npm run lang:makepotcria arquivo .POT para internacionalização de tema.functions/,assets/,inc/, 'components/' e etc.Acho que é isso pessoal, aguardando os testes e o feedback de vcs antes do lançamento! :)
Componentes
A grande mudança do Odin3 e talvez a diferença entre os outros temas base é a ideia é "componetizar".
Acredito que seja uma boa ideia seguir (ou tentar) o que os frameworks JS estão fazendo :)
Exemplo do componente/post/. No mesmo diretório é possível encontrar o template (1), funções (2), os estilos (3) e scripts (4) do componente. Isto facilita na hora de edita-lo ou reaproveita-lo mais tarde.
components/post/post.php.components/post/post.php.components/post/post.php. Caso ainda não tenha o prefix underscore, exemploposts.scssé gerado um arquivopost.cssemdist, isso se for interessante link-lo na página separadamente.distdurante a compilação, daí é só utilizarwp_enqueue_script()no nosso passo (2) para add na página.A base é esta, se deletar o diretório
components/posto componente morre, e para reaproveita-lo em outro tema é só copiar e colar o diretório.Estrutura
/dist/Este diretório só é construído a partir do
npm run (dev|build)como de costume já em outros conhecidos frameworks, detalhes dos comandos em README.md.Caso a constante SCRIPT_DEBUG estiver ativa, o Odin é esperto o suficiente para chamar os arquivos minificados ou de desenvolvimento.
/assets/No arquivo
js/theme.jsexiste a possibilidade de incluir outros arquivos nele mesmo, veja o exemplo de como o Bootstrap é incluído.O arquivo
css/theme.scssinclui as variaveis, functions e mixins e estilos do tema e terceiros. Note que tambem inclui qualquer arquivo sass do diretório/components/.