Initial commit
This commit is contained in:
2
.gitattributes
vendored
Normal file
2
.gitattributes
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
# Auto detect text files and perform LF normalization
|
||||
* text=auto
|
13
404.php
Normal file
13
404.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php get_header(); ?>
|
||||
|
||||
<main>
|
||||
<div class="container">
|
||||
<section class="error-404">
|
||||
<h1><?php _e('Página Não Encontrada', 'intranet'); ?></h1>
|
||||
<p><?php _e('Desculpe, a página que você está procurando não existe ou foi movida.', 'intranet'); ?></p>
|
||||
<p><a href="<?php echo esc_url(home_url('/')); ?>" class="btn"><?php _e('Voltar para a Página Inicial', 'intranet'); ?></a></p>
|
||||
</section>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<?php get_footer(); ?>
|
78
README.md
Normal file
78
README.md
Normal file
@@ -0,0 +1,78 @@
|
||||
# Intranet Corporativa Moderna
|
||||
|
||||
Tema WordPress moderno para intranet corporativa, focado em usabilidade, integração de notícias, atalhos rápidos, estatísticas, eventos e recursos internos para equipes municipais.
|
||||
|
||||
## Recursos Principais
|
||||
|
||||
- Layout responsivo e moderno
|
||||
- Menu lateral personalizável
|
||||
- Seção de destaques com integração ao WhatsApp
|
||||
- Atalhos rápidos para Helpdesk, Artes, Diretório, Notícias, Folha de Pagamento, Eventos e Relatórios
|
||||
- Listagem de notícias e eventos com paginação
|
||||
- Estatísticas e métricas importantes
|
||||
- Integração com calendário e eventos via shortcode
|
||||
- Feed de redes sociais (Instagram)
|
||||
- Suporte a widgets na barra lateral e rodapé
|
||||
- Suporte a imagens destacadas e thumbnails customizadas
|
||||
- Tradução pronta para pt_BR
|
||||
- Suporte a WebP
|
||||
- SEO básico (title-tag)
|
||||
- Lazy loading para imagens
|
||||
|
||||
## Estrutura de Pastas
|
||||
|
||||
```
|
||||
wp-content/themes/intranet/
|
||||
├── assets/
|
||||
│ └── images/
|
||||
├── languages/
|
||||
│ ├── pt_BR.po
|
||||
│ └── pt_BR.mo
|
||||
├── template-parts/
|
||||
│ └── content.php
|
||||
├── 404.php
|
||||
├── all-news.php
|
||||
├── archive.php
|
||||
├── content-noticia.php
|
||||
├── footer.php
|
||||
├── front-page.php
|
||||
├── functions.php
|
||||
├── header.php
|
||||
├── index.php
|
||||
├── page.php
|
||||
├── search.php
|
||||
├── sidebar.php
|
||||
├── single.php
|
||||
├── style.css
|
||||
├── README.md
|
||||
└── screenshot.png
|
||||
```
|
||||
|
||||
## Instalação
|
||||
|
||||
1. Faça upload da pasta do tema para `wp-content/themes/intranet`.
|
||||
2. Ative o tema pelo painel do WordPress.
|
||||
3. Certifique-se de que as dependências externas (Font Awesome) estão carregando corretamente.
|
||||
4. Configure os menus e widgets pelo painel.
|
||||
5. Para atalhos e eventos, utilize os shortcodes sugeridos ou plugins compatíveis.
|
||||
|
||||
## Personalização
|
||||
|
||||
- Edite o arquivo `front-page.php` para alterar textos, atalhos e integrações.
|
||||
- As cores principais podem ser ajustadas no CSS, especialmente para adaptar ao branding da organização.
|
||||
- Para alterar ícones, utilize as classes do Font Awesome.
|
||||
- Traduções podem ser ajustadas nos arquivos `.po` e `.mo` em `languages/`.
|
||||
|
||||
## Suporte a Plugins
|
||||
|
||||
- Compatível com plugins de calendário e eventos via shortcode.
|
||||
- Suporte a widgets padrão do WordPress.
|
||||
|
||||
## Créditos
|
||||
|
||||
Desenvolvido por Marco Antonio Vivas
|
||||
https://marcovivas.com/
|
||||
|
||||
---
|
||||
|
||||
Para dúvidas ou sugestões, utilize o painel de administração do WordPress ou entre em contato com o desenvolvedor.
|
60
all-news.php
Normal file
60
all-news.php
Normal file
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
/* Template Name: Todas as Notícias */
|
||||
get_header(); ?>
|
||||
|
||||
<main>
|
||||
<div class="container">
|
||||
<section class="noticias-modernas">
|
||||
<div class="section-header">
|
||||
<h3><?php _e('Todas as Notícias', 'intranet'); ?></h3>
|
||||
</div>
|
||||
<div class="noticias-grid">
|
||||
<?php
|
||||
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
|
||||
$args = array(
|
||||
'post_type' => 'post',
|
||||
'posts_per_page' => 9,
|
||||
'paged' => $paged,
|
||||
'post_status' => 'publish'
|
||||
);
|
||||
$query = new WP_Query($args);
|
||||
|
||||
if ($query->have_posts()) :
|
||||
while ($query->have_posts()) : $query->the_post(); ?>
|
||||
<article class="noticia-card">
|
||||
<?php if (has_post_thumbnail()) : ?>
|
||||
<div class="noticia-imagem">
|
||||
<a href="<?php the_permalink(); ?>">
|
||||
<?php the_post_thumbnail('noticia-thumb'); ?>
|
||||
</a>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div class="noticia-conteudo">
|
||||
<div class="noticia-meta">
|
||||
<span><?php echo get_the_date(); ?></span>
|
||||
<span><?php the_author(); ?></span>
|
||||
</div>
|
||||
<h3 class="noticia-titulo"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
|
||||
<div class="noticia-resumo"><?php echo wp_trim_words(get_the_excerpt(), 20); ?></div>
|
||||
<a href="<?php the_permalink(); ?>" class="leia-mais">
|
||||
<?php _e('Leia mais', 'intranet'); ?> <i class="fas fa-arrow-right"></i>
|
||||
</a>
|
||||
</div>
|
||||
</article>
|
||||
<?php endwhile;
|
||||
the_posts_pagination(array(
|
||||
'mid_size' => 2,
|
||||
'prev_text' => __('Anterior', 'intranet'),
|
||||
'next_text' => __('Próximo', 'intranet'),
|
||||
));
|
||||
wp_reset_postdata();
|
||||
else :
|
||||
echo '<p>' . __('Nenhuma notícia encontrada.', 'intranet') . '</p>';
|
||||
endif;
|
||||
?>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<?php get_footer(); ?>
|
56
archive.php
Normal file
56
archive.php
Normal file
@@ -0,0 +1,56 @@
|
||||
<?php get_header(); ?>
|
||||
|
||||
<main>
|
||||
<div class="container">
|
||||
<section class="archive-content">
|
||||
<h1>
|
||||
<?php
|
||||
if (is_category()) {
|
||||
printf(__('Categoria: %s', 'intranet'), single_cat_title('', false));
|
||||
} elseif (is_tag()) {
|
||||
printf(__('Tag: %s', 'intranet'), single_tag_title('', false));
|
||||
} elseif (is_day()) {
|
||||
printf(__('Arquivo Diário: %s', 'intranet'), get_the_date());
|
||||
} elseif (is_month()) {
|
||||
printf(__('Arquivo Mensal: %s', 'intranet'), get_the_date('F Y'));
|
||||
} elseif (is_year()) {
|
||||
printf(__('Arquivo Anual: %s', 'intranet'), get_the_date('Y'));
|
||||
} else {
|
||||
_e('Arquivo', 'intranet');
|
||||
}
|
||||
?>
|
||||
</h1>
|
||||
<?php
|
||||
if (have_posts()) :
|
||||
while (have_posts()) : the_post(); ?>
|
||||
<article class="archive-post">
|
||||
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
|
||||
<div class="post-meta">
|
||||
<span><?php _e('Publicado em:', 'intranet'); ?> <?php echo get_the_date(); ?></span>
|
||||
</div>
|
||||
<div class="entry-summary">
|
||||
<?php the_excerpt(); ?>
|
||||
</div>
|
||||
<?php if (has_post_thumbnail()) : ?>
|
||||
<div class="post-thumbnail">
|
||||
<?php the_post_thumbnail('noticia-thumb'); ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</article>
|
||||
<?php endwhile;
|
||||
the_posts_pagination(array(
|
||||
'mid_size' => 2,
|
||||
'prev_text' => __('Anterior', 'intranet'),
|
||||
'next_text' => __('Próximo', 'intranet'),
|
||||
));
|
||||
else :
|
||||
echo '<p>' . __('Nenhum post encontrado.', 'intranet') . '</p>';
|
||||
endif;
|
||||
?>
|
||||
</section>
|
||||
|
||||
<?php get_sidebar(); ?>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<?php get_footer(); ?>
|
BIN
assets/images/imagem-lateral.png
Normal file
BIN
assets/images/imagem-lateral.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
BIN
assets/images/logo.png
Normal file
BIN
assets/images/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 178 KiB |
19
content-noticia.php
Normal file
19
content-noticia.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<article class="noticia-item">
|
||||
<?php if (has_post_thumbnail()) : ?>
|
||||
<div class="noticia-imagem">
|
||||
<a href="<?php the_permalink(); ?>">
|
||||
<?php the_post_thumbnail('noticia-thumb'); ?>
|
||||
</a>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="noticia-conteudo">
|
||||
<h4><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4>
|
||||
<div class="noticia-meta">
|
||||
<span><?php echo get_the_date(); ?></span>
|
||||
<span><?php the_author(); ?></span>
|
||||
</div>
|
||||
<div class="noticia-resumo"><?php the_excerpt(); ?></div>
|
||||
<a href="<?php the_permalink(); ?>" class="leia-mais"><?php _e('Leia mais', 'intranet'); ?></a>
|
||||
</div>
|
||||
</article>
|
BIN
design.png
Normal file
BIN
design.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.4 MiB |
40
footer.php
Normal file
40
footer.php
Normal file
@@ -0,0 +1,40 @@
|
||||
<footer class="footer-moderno">
|
||||
<div class="container">
|
||||
<div class="footer-grid">
|
||||
<div class="footer-col">
|
||||
<h4><?php _e('Sobre Nós', 'intranet'); ?></h4>
|
||||
<ul>
|
||||
<li><a href="#"><?php _e('Nossa Prefeitura', 'intranet'); ?></a></li>
|
||||
<li><a href="#"><?php _e('Administração', 'intranet'); ?></a></li>
|
||||
<li><a href="#"><?php _e('Secretárias', 'intranet'); ?></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="footer-col">
|
||||
<h4><?php _e('Recursos', 'intranet'); ?></h4>
|
||||
<ul>
|
||||
<li><a href="#"><?php _e('Documentos', 'intranet'); ?></a></li>
|
||||
<li><a href="#"><?php _e('Formulários', 'intranet'); ?></a></li>
|
||||
<li><a href="#"><?php _e('Políticas', 'intranet'); ?></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="footer-col">
|
||||
<h4><?php _e('Suporte', 'intranet'); ?></h4>
|
||||
<ul>
|
||||
<li><a href="#"><?php _e('Helpdesk', 'intranet'); ?></a></li>
|
||||
<li><a href="#"><?php _e('Perguntas Frequentes', 'intranet'); ?></a></li>
|
||||
<li><a href="#"><?php _e('Contato TI', 'intranet'); ?></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="footer-bottom">
|
||||
© <?php echo date('Y'); ?> <?php bloginfo('name'); ?>. <?php _e('Todos os direitos reservados.', 'intranet'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<?php wp_footer(); ?>
|
||||
</body>
|
||||
</html>
|
298
front-page.php
Normal file
298
front-page.php
Normal file
@@ -0,0 +1,298 @@
|
||||
<?php get_header(); ?>
|
||||
|
||||
<main class="grid-layout">
|
||||
<!-- Sidebar -->
|
||||
<aside class="sidebar-moderno">
|
||||
<nav>
|
||||
<ul class="menu-vertical">
|
||||
<li class="current-menu-item"><a href="#"><i class="fas fa-home"></i> <?php _e('Início', 'intranet'); ?></a></li>
|
||||
<li><a href="<?php echo site_url('/wp-login.php'); ?>"><i class="fas fa-user"></i> <?php _e('Meu Perfil', 'intranet'); ?></a></li>
|
||||
<li><a href="#"><i class="fas fa-calendar-alt"></i> <?php _e('Calendário', 'intranet'); ?></a></li>
|
||||
<li><a href="#"><i class="fas fa-file-alt"></i> <?php _e('Documentos', 'intranet'); ?></a></li>
|
||||
<li><a href="#"><i class="fas fa-chart-line"></i> <?php _e('Relatórios', 'intranet'); ?></a></li>
|
||||
<li><a href="#"><i class="fas fa-users"></i> <?php _e('Equipe', 'intranet'); ?></a></li>
|
||||
<li><a href="#"><i class="fas fa-cog"></i> <?php _e('Configurações', 'intranet'); ?></a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
</aside>
|
||||
|
||||
<!-- Conteúdo Principal -->
|
||||
<div class="main-content">
|
||||
<section class="hero-moderno">
|
||||
<div class="container">
|
||||
<div class="hero-content">
|
||||
<h2><?php _e('Participe do nosso WhatsApp!', 'intranet'); ?></h2>
|
||||
<p><?php _e('Fique por dentro de documentos, notícias e serviços internos da Prefeitura de Três Corações - MG.', 'intranet'); ?></p>
|
||||
<a href="#" class="btn-primario">
|
||||
<i class="fab fa-whatsapp"></i> <?php _e('Entre agora', 'intranet'); ?>
|
||||
</a>
|
||||
</div>
|
||||
<img src="<?php echo get_template_directory_uri(); ?>/assets/images/imagem-lateral.png" alt="" class="hero-pattern">
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div class="container">
|
||||
<!-- Atalhos Rápidos -->
|
||||
<section class="atalhos-modernos">
|
||||
<div class="atalhos-grid">
|
||||
<div class="atalho-card">
|
||||
<i class="fas fa-headset"></i>
|
||||
<span><?php _e('Helpdesk', 'intranet'); ?></span>
|
||||
</div>
|
||||
<div class="atalho-card">
|
||||
<i class="fa-solid fa-palette"></i>
|
||||
<span><?php _e('Artes', 'intranet'); ?></span>
|
||||
</div>
|
||||
<div class="atalho-card">
|
||||
<i class="fas fa-users"></i>
|
||||
<span><?php _e('Diretório', 'intranet'); ?></span>
|
||||
</div>
|
||||
<div class="atalho-card">
|
||||
<i class="fas fa-newspaper"></i>
|
||||
<span><?php _e('Notícias', 'intranet'); ?></span>
|
||||
</div>
|
||||
<div class="atalho-card">
|
||||
<i class="fas fa-money-check-dollar"></i>
|
||||
<span><?php _e('Folha de Pagamento', 'intranet'); ?></span>
|
||||
</div>
|
||||
<div class="atalho-card">
|
||||
<i class="fas fa-calendar-alt"></i>
|
||||
<span><?php _e('Eventos', 'intranet'); ?></span>
|
||||
</div>
|
||||
<div class="atalho-card">
|
||||
<i class="fas fa-file-alt"></i>
|
||||
<span><?php _e('Relatórios', 'intranet'); ?></span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Notícias -->
|
||||
<section class="noticias-modernas">
|
||||
<div class="section-header">
|
||||
<h3><?php _e('Últimas Notícias', 'intranet'); ?></h3>
|
||||
<a href="<?php echo get_permalink(get_page_by_path('todas-as-noticias')); ?>" class="ver-tudo">
|
||||
<?php _e('Ver tudo', 'intranet'); ?> <i class="fas fa-arrow-right"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="noticias-eventos-wrapper">
|
||||
<div class="noticias-col">
|
||||
<div class="noticias-grid">
|
||||
<?php
|
||||
$args = array(
|
||||
'post_type' => 'post',
|
||||
'posts_per_page' => 4,
|
||||
'post_status' => 'publish'
|
||||
);
|
||||
$query = new WP_Query($args);
|
||||
if ($query->have_posts()) :
|
||||
while ($query->have_posts()) : $query->the_post(); ?>
|
||||
<article class="noticia-card">
|
||||
<?php if (has_post_thumbnail()) : ?>
|
||||
<div class="noticia-imagem">
|
||||
<a href="<?php the_permalink(); ?>">
|
||||
<?php the_post_thumbnail('noticia-thumb'); ?>
|
||||
</a>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div class="noticia-conteudo">
|
||||
<div class="noticia-meta">
|
||||
<span><?php echo get_the_date(); ?></span>
|
||||
<span><?php the_author(); ?></span>
|
||||
</div>
|
||||
<h3 class="noticia-titulo"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
|
||||
<div class="noticia-resumo"><?php echo wp_trim_words(get_the_excerpt(), 20); ?></div>
|
||||
<a href="<?php the_permalink(); ?>" class="leia-mais">
|
||||
<?php _e('Leia mais', 'intranet'); ?> <i class="fas fa-arrow-right"></i>
|
||||
</a>
|
||||
</div>
|
||||
</article>
|
||||
<?php endwhile;
|
||||
wp_reset_postdata();
|
||||
else :
|
||||
echo '<p>' . __('Nenhuma notícia encontrada.', 'intranet') . '</p>';
|
||||
endif;
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="eventos-col">
|
||||
<div class="calendario-box">
|
||||
<?php echo do_shortcode('[mostra-calendario-widget]'); // Use um plugin ou shortcode de calendário ?>
|
||||
</div>
|
||||
<div class="proximos-eventos-box">
|
||||
|
||||
<?php echo do_shortcode('[mostra-prox-eventos]'); // Use um plugin ou shortcode de calendário ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Estatísticas -->
|
||||
<section class="estatisticas-modernas">
|
||||
<div class="section-header">
|
||||
<h3><?php _e('Métricas Importantes', 'intranet'); ?></h3>
|
||||
</div>
|
||||
|
||||
<div class="stats-grid">
|
||||
<div class="stats-card">
|
||||
<i class="fas fa-users"></i>
|
||||
<h4><?php _e('Colaboradores Ativos', 'intranet'); ?></h4>
|
||||
<div class="stats-value">1.245</div>
|
||||
<div class="stats-period"><?php _e('Atualizado hoje', 'intranet'); ?></div>
|
||||
</div>
|
||||
<div class="stats-card">
|
||||
<i class="fas fa-briefcase"></i>
|
||||
<h4><?php _e('Projetos em Andamento', 'intranet'); ?></h4>
|
||||
<div class="stats-value">38</div>
|
||||
<div class="stats-period"><?php _e('Este mês', 'intranet'); ?></div>
|
||||
</div>
|
||||
<div class="stats-card">
|
||||
<i class="fas fa-envelope-open-text"></i>
|
||||
<h4><?php _e('Chamados Abertos', 'intranet'); ?></h4>
|
||||
<div class="stats-value">12</div>
|
||||
<div class="stats-period"><?php _e('Últimas 24h', 'intranet'); ?></div>
|
||||
</div>
|
||||
<div class="stats-card">
|
||||
<i class="fas fa-calendar-check"></i>
|
||||
<h4><?php _e('Eventos Realizados', 'intranet'); ?></h4>
|
||||
<div class="stats-value">5</div>
|
||||
<div class="stats-period"><?php _e('Este mês', 'intranet'); ?></div>
|
||||
</div>
|
||||
<div class="stats-card">
|
||||
<i class="fas fa-file-alt"></i>
|
||||
<h4><?php _e('Documentos Publicados', 'intranet'); ?></h4>
|
||||
<div class="stats-value">127</div>
|
||||
<div class="stats-period"><?php _e('Ano de 2025', 'intranet'); ?></div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Redes Sociais -->
|
||||
<section class="redes-sociais">
|
||||
<div class="section-header">
|
||||
<h3><?php _e('Redes Sociais', 'intranet'); ?></h3>
|
||||
</div>
|
||||
<div class="instagram-feed">
|
||||
<!-- Substitua o src abaixo pelo seu widget do Instagram ou plugin de sua preferência -->
|
||||
<iframe src="https://495d585d8718431585cad1ab322b97ef.elf.site"
|
||||
class="snapwidget-widget"
|
||||
allowtransparency="true"
|
||||
frameborder="0"
|
||||
scrolling="no"
|
||||
style="border:none; overflow:hidden; width:100%; height:900px"></iframe>
|
||||
</div>
|
||||
<style>
|
||||
.instagram-feed {
|
||||
max-width: 100%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.instagram-feed iframe {
|
||||
width: 100%;
|
||||
border-radius: 12px;
|
||||
}
|
||||
</style>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<?php get_footer(); ?>
|
||||
|
||||
<style>
|
||||
.hero-moderno {
|
||||
background: linear-gradient(90deg, #128c7e 0%, #25d366 100%);
|
||||
color: #fff;
|
||||
border-radius: 24px;
|
||||
}
|
||||
.hero-moderno .hero-content h2,
|
||||
.hero-moderno .hero-content p {
|
||||
color: #fff;
|
||||
}
|
||||
.hero-moderno .btn-primario {
|
||||
background: #fff;
|
||||
color: #128c7e;
|
||||
border: none;
|
||||
font-weight: 600;
|
||||
}
|
||||
.hero-moderno .btn-primario:hover {
|
||||
background: #25d366;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.noticias-eventos-wrapper {
|
||||
display: flex;
|
||||
gap: 40px;
|
||||
}
|
||||
.noticias-col {
|
||||
flex: 2;
|
||||
}
|
||||
.eventos-col {
|
||||
flex: 1;
|
||||
min-width: 280px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 30px;
|
||||
}
|
||||
.calendario-box {
|
||||
background: var(--branco);
|
||||
border-radius: var(--borda-radius);
|
||||
box-shadow: var(--sombra);
|
||||
padding: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.proximos-eventos-box {
|
||||
background: var(--branco);
|
||||
border-radius: var(--borda-radius);
|
||||
box-shadow: var(--sombra);
|
||||
padding: 20px;
|
||||
}
|
||||
.proximos-eventos-box h4 {
|
||||
margin-top: 0;
|
||||
color: var(--azul-principal);
|
||||
font-size: 1.1rem;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
.proximos-eventos-lista {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.proximos-eventos-lista li {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
margin-bottom: 12px;
|
||||
font-size: 0.98rem;
|
||||
}
|
||||
.evento-data {
|
||||
background: var(--azul-brilhante);
|
||||
color: #fff;
|
||||
border-radius: 6px;
|
||||
padding: 4px 10px;
|
||||
font-weight: 600;
|
||||
min-width: 48px;
|
||||
text-align: center;
|
||||
}
|
||||
.evento-titulo {
|
||||
font-weight: 500;
|
||||
color: var(--azul-escuro);
|
||||
}
|
||||
.evento-hora {
|
||||
color: var(--azul-claro);
|
||||
font-size: 0.95em;
|
||||
}
|
||||
.evento-tipo {
|
||||
background: var(--cinza);
|
||||
color: var(--azul-escuro);
|
||||
border-radius: 4px;
|
||||
padding: 2px 8px;
|
||||
font-size: 0.85em;
|
||||
margin-left: auto;
|
||||
}
|
||||
@media (max-width: 900px) {
|
||||
.noticias-eventos-wrapper {
|
||||
flex-direction: column;
|
||||
}
|
||||
.eventos-col {
|
||||
min-width: 0;
|
||||
}
|
||||
}
|
||||
</style>
|
78
functions.php
Normal file
78
functions.php
Normal file
@@ -0,0 +1,78 @@
|
||||
<?php
|
||||
function intranet_scripts() {
|
||||
wp_enqueue_style('intranet-style', get_stylesheet_uri());
|
||||
wp_enqueue_style('font-awesome', 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css');
|
||||
}
|
||||
add_action('wp_enqueue_scripts', 'intranet_scripts');
|
||||
|
||||
function intranet_menus() {
|
||||
register_nav_menus(array(
|
||||
'menu-principal' => __('Menu Principal', 'intranet')
|
||||
));
|
||||
}
|
||||
add_action('after_setup_theme', 'intranet_menus');
|
||||
|
||||
// Suporte a thumbnails
|
||||
add_theme_support('post-thumbnails');
|
||||
|
||||
// Suporte a tradução
|
||||
load_theme_textdomain('intranet', get_template_directory() . '/languages');
|
||||
|
||||
// Registrar áreas de widgets
|
||||
function intranet_widgets() {
|
||||
register_sidebar(array(
|
||||
'name' => __('Barra Lateral', 'intranet'),
|
||||
'id' => 'sidebar-1',
|
||||
'description' => __('Adicione widgets para a barra lateral.', 'intranet'),
|
||||
'before_widget' => '<div id="%1$s" class="widget %2$s">',
|
||||
'after_widget' => '</div>',
|
||||
'before_title' => '<h3 class="widget-title">',
|
||||
'after_title' => '</h3>',
|
||||
));
|
||||
register_sidebar(array(
|
||||
'name' => __('Rodapé', 'intranet'),
|
||||
'id' => 'footer-1',
|
||||
'description' => __('Adicione widgets ao rodapé.', 'intranet'),
|
||||
'before_widget' => '<div id="%1$s" class="widget %2$s">',
|
||||
'after_widget' => '</div>',
|
||||
'before_title' => '<h3 class="widget-title">',
|
||||
'after_title' => '</h3>',
|
||||
));
|
||||
}
|
||||
add_action('widgets_init', 'intranet_widgets');
|
||||
|
||||
// Adicionar suporte a título dinâmico
|
||||
add_theme_support('title-tag');
|
||||
|
||||
// Personalizar o tamanho das thumbnails
|
||||
add_image_size('noticia-thumb', 300, 200, true);
|
||||
|
||||
// Suporte a WebP
|
||||
function webp_upload_mimes($existing_mimes) {
|
||||
$existing_mimes['webp'] = 'image/webp';
|
||||
return $existing_mimes;
|
||||
}
|
||||
add_filter('mime_types', 'webp_upload_mimes');
|
||||
|
||||
// Breadcrumbs
|
||||
function intranet_breadcrumbs() {
|
||||
// Implementação dos breadcrumbs
|
||||
}
|
||||
|
||||
// Lazy loading
|
||||
add_filter('wp_get_attachment_image_attributes', function($attr) {
|
||||
$attr['loading'] = 'lazy';
|
||||
return $attr;
|
||||
});
|
||||
|
||||
// Tempo de leitura estimado
|
||||
if (!function_exists('estimated_reading_time')) {
|
||||
function estimated_reading_time() {
|
||||
$content = get_post_field('post_content', get_the_ID());
|
||||
$word_count = str_word_count(strip_tags($content));
|
||||
$readingtime = ceil($word_count / 200);
|
||||
return ($readingtime == 0) ? 'Menos de 1' : $readingtime;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
40
header.php
Normal file
40
header.php
Normal file
@@ -0,0 +1,40 @@
|
||||
<!DOCTYPE html>
|
||||
<html <?php language_attributes(); ?>>
|
||||
<head>
|
||||
<meta charset="<?php bloginfo('charset'); ?>">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<?php wp_head(); ?>
|
||||
</head>
|
||||
<body <?php body_class(); ?>>
|
||||
<header class="header-moderno">
|
||||
<div class="container header-container">
|
||||
<div class="logo-container">
|
||||
<a href="<?php echo home_url(); ?>">
|
||||
<?php if (file_exists(get_template_directory() . '/assets/images/logo.png')): ?>
|
||||
<img src="<?php echo get_template_directory_uri(); ?>/assets/images/logo.png" alt="<?php echo get_bloginfo('name'); ?>">
|
||||
<?php else: ?>
|
||||
<h1><?php echo get_bloginfo('name'); ?></h1>
|
||||
<?php endif; ?>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<nav class="nav-principal">
|
||||
<?php
|
||||
wp_nav_menu(array(
|
||||
'theme_location' => 'menu-principal', // Corrigido para o mesmo nome do functions.php
|
||||
'container' => false,
|
||||
'items_wrap' => '<ul>%3$s</ul>'
|
||||
));
|
||||
?>
|
||||
</nav>
|
||||
|
||||
<div class="user-menu">
|
||||
<?php if (is_user_logged_in()) :
|
||||
$current_user = wp_get_current_user();
|
||||
echo get_avatar($current_user->ID, 40, '', $current_user->display_name, ['class' => 'user-avatar']);
|
||||
else : ?>
|
||||
<img src="<?php echo get_template_directory_uri(); ?>/assets/images/avatar-default.png" alt="Avatar" class="user-avatar" width="40" height="40">
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
45
index.php
Normal file
45
index.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php get_header(); ?>
|
||||
|
||||
<main>
|
||||
<section class="hero">
|
||||
<div class="container">
|
||||
<h2><?php _e('Emma, confira as Últimas Notícias da Empresa!', 'intranet'); ?></h2>
|
||||
<a href="#" class="btn"><?php _e('Leia Mais', 'intranet'); ?></a>
|
||||
</div>
|
||||
<div class="hero-image">
|
||||
<!-- Placeholder para imagem de Emma -->
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="atalhos">
|
||||
<div class="container icons">
|
||||
<div class="icon"><i class="fas fa-headset"></i> <?php _e('Helpdesk', 'intranet'); ?></div>
|
||||
<div class="icon"><i class="fas fa-file-alt"></i> <?php _e('Relatórios', 'intranet'); ?></div>
|
||||
<div class="icon"><i class="fas fa-users"></i> <?php _e('Diretório', 'intranet'); ?></div>
|
||||
<div class="icon"><i class="fas fa-newspaper"></i> <?php _e('Notícias', 'intranet'); ?></div>
|
||||
<div class="icon"><i class="fas fa-money-check-dollar"></i> <?php _e('Folha de Pagamento', 'intranet'); ?></div>
|
||||
<div class="icon"><i class="fas fa-calendar-alt"></i> <?php _e('Eventos', 'intranet'); ?></div>
|
||||
<div class="icon"><i class="fas fa-folder-open"></i> <?php _e('Formulários', 'intranet'); ?></div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="noticias">
|
||||
<div class="container">
|
||||
<h3><?php _e('Notícias & Eventos', 'intranet'); ?></h3>
|
||||
<?php
|
||||
if (have_posts()) :
|
||||
while (have_posts()) : the_post(); ?>
|
||||
<article>
|
||||
<h4><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4>
|
||||
<p><?php the_excerpt(); ?></p>
|
||||
</article>
|
||||
<?php endwhile;
|
||||
else :
|
||||
echo '<p>' . __('Nenhum post encontrado.', 'intranet') . '</p>';
|
||||
endif;
|
||||
?>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
|
||||
<?php get_footer(); ?>
|
0
languages/pt_BR.mo
Normal file
0
languages/pt_BR.mo
Normal file
0
languages/pt_BR.po
Normal file
0
languages/pt_BR.po
Normal file
24
leiame.md
Normal file
24
leiame.md
Normal file
@@ -0,0 +1,24 @@
|
||||
/wp-content/themes/nome-do-tema/
|
||||
├── style.css
|
||||
├── index.php
|
||||
├── functions.php
|
||||
├── header.php
|
||||
├── footer.php
|
||||
├── sidebar.php
|
||||
├── front-page.php
|
||||
├── page.php
|
||||
├── single.php
|
||||
├── archive.php
|
||||
├── 404.php
|
||||
├── search.php
|
||||
├── assets/
|
||||
│ ├── css/
|
||||
│ ├── js/
|
||||
│ └── images/
|
||||
├── languages/
|
||||
│ ├── pt_BR.po
|
||||
│ └── pt_BR.mo
|
||||
├── template-parts/
|
||||
│ └── content.php
|
||||
├── rtl.css
|
||||
└── screenshot.png
|
26
page.php
Normal file
26
page.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php get_header(); ?>
|
||||
|
||||
<main>
|
||||
<div class="container">
|
||||
<section class="page-content">
|
||||
<?php
|
||||
if (have_posts()) :
|
||||
while (have_posts()) : the_post(); ?>
|
||||
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
|
||||
<h1><?php the_title(); ?></h1>
|
||||
<div class="entry-content">
|
||||
<?php the_content(); ?>
|
||||
</div>
|
||||
</article>
|
||||
<?php endwhile;
|
||||
else :
|
||||
echo '<p>' . __('Nenhuma página encontrada.', 'intranet') . '</p>';
|
||||
endif;
|
||||
?>
|
||||
</section>
|
||||
|
||||
<?php get_sidebar(); ?>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<?php get_footer(); ?>
|
BIN
screenshot.png
Normal file
BIN
screenshot.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.1 MiB |
45
search.php
Normal file
45
search.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php get_header(); ?>
|
||||
|
||||
<main>
|
||||
<div class="container">
|
||||
<section class="search-content">
|
||||
<h1>
|
||||
<?php
|
||||
/* Translators: %s is the search query */
|
||||
printf(__('Resultados da Busca por: %s', 'intranet'), '<span>' . esc_html(get_search_query()) . '</span>');
|
||||
?>
|
||||
</h1>
|
||||
<?php
|
||||
if (have_posts()) :
|
||||
while (have_posts()) : the_post(); ?>
|
||||
<article class="search-result">
|
||||
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
|
||||
<div class="post-meta">
|
||||
<span><?php _e('Publicado em:', 'intranet'); ?> <?php echo get_the_date(); ?></span>
|
||||
</div>
|
||||
<div class="entry-summary">
|
||||
<?php the_excerpt(); ?>
|
||||
</div>
|
||||
<?php if (has_post_thumbnail()) : ?>
|
||||
<div class="post-thumbnail">
|
||||
<?php the_post_thumbnail('noticia-thumb'); ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</article>
|
||||
<?php endwhile;
|
||||
the_posts_pagination(array(
|
||||
'mid_size' => 2,
|
||||
'prev_text' => __('Anterior', 'intranet'),
|
||||
'next_text' => __('Próximo', 'intranet'),
|
||||
));
|
||||
else :
|
||||
echo '<p>' . __('Nenhum resultado encontrado. Tente outra busca.', 'intranet') . '</p>';
|
||||
endif;
|
||||
?>
|
||||
</section>
|
||||
|
||||
<?php get_sidebar(); ?>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<?php get_footer(); ?>
|
20
sidebar.php
Normal file
20
sidebar.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<aside class="sidebar">
|
||||
<div class="container">
|
||||
<?php
|
||||
if (is_active_sidebar('sidebar-1')) {
|
||||
dynamic_sidebar('sidebar-1');
|
||||
} else {
|
||||
?>
|
||||
<div class="widget">
|
||||
<h3><?php _e('Links Úteis', 'intranet'); ?></h3>
|
||||
<ul>
|
||||
<li><a href="#"><?php _e('Helpdesk', 'intranet'); ?></a></li>
|
||||
<li><a href="#"><?php _e('Relatórios', 'intranet'); ?></a></li>
|
||||
<li><a href="#"><?php _e('Diretório', 'intranet'); ?></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</aside>
|
95
single.php
Normal file
95
single.php
Normal file
@@ -0,0 +1,95 @@
|
||||
<?php get_header(); ?>
|
||||
|
||||
<main class="single-post-container">
|
||||
<div class="container">
|
||||
<!-- Breadcrumbs -->
|
||||
<div class="breadcrumbs">
|
||||
<?php if (function_exists('intranet_breadcrumbs')) intranet_breadcrumbs(); ?>
|
||||
</div>
|
||||
|
||||
<article id="post-<?php the_ID(); ?>" <?php post_class('post-content'); ?>>
|
||||
<!-- Cabeçalho do Post -->
|
||||
<header class="post-header">
|
||||
<?php if (has_post_thumbnail()) : ?>
|
||||
<div class="post-featured-image">
|
||||
<?php the_post_thumbnail('full', ['class' => 'featured-img']); ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="post-meta-wrapper">
|
||||
<div class="post-categories">
|
||||
<?php the_category(', '); ?>
|
||||
</div>
|
||||
<h1 class="post-title"><?php the_title(); ?></h1>
|
||||
<div class="post-meta">
|
||||
<div class="author-avatar">
|
||||
<?php echo get_avatar(get_the_author_meta('ID'), 48); ?>
|
||||
</div>
|
||||
<div class="meta-content">
|
||||
<span class="author-name"><?php the_author(); ?></span>
|
||||
<div class="meta-details">
|
||||
<time datetime="<?php echo get_the_date('c'); ?>" class="post-date">
|
||||
<i class="far fa-calendar-alt"></i> <?php echo get_the_date('d \d\e F \d\e Y'); ?>
|
||||
</time>
|
||||
<span class="reading-time">
|
||||
<i class="far fa-clock"></i> <?php echo function_exists('estimated_reading_time') ? estimated_reading_time() : ''; ?> min de leitura
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- Conteúdo do Post -->
|
||||
<div class="entry-content">
|
||||
<?php
|
||||
the_content();
|
||||
wp_link_pages([
|
||||
'before' => '<div class="page-links">' . __('Páginas:', 'intranet'),
|
||||
'after' => '</div>',
|
||||
]);
|
||||
?>
|
||||
</div>
|
||||
|
||||
<!-- Rodapé do Post -->
|
||||
<footer class="post-footer">
|
||||
<div class="post-tags">
|
||||
<?php the_tags('<span class="tags-label"><i class="fas fa-tags"></i> Tags:</span> ', ', ', ''); ?>
|
||||
</div>
|
||||
<div class="post-share">
|
||||
<span class="share-label"><?php _e('Compartilhar:', 'intranet'); ?></span>
|
||||
<a href="#" class="share-btn facebook"><i class="fab fa-facebook-f"></i></a>
|
||||
<a href="#" class="share-btn twitter"><i class="fab fa-twitter"></i></a>
|
||||
<a href="#" class="share-btn linkedin"><i class="fab fa-linkedin-in"></i></a>
|
||||
<a href="#" class="share-btn whatsapp"><i class="fab fa-whatsapp"></i></a>
|
||||
</div>
|
||||
</footer>
|
||||
</article>
|
||||
|
||||
<!-- Autor Box -->
|
||||
<div class="author-box">
|
||||
<div class="author-avatar">
|
||||
<?php echo get_avatar(get_the_author_meta('ID'), 96); ?>
|
||||
</div>
|
||||
<div class="author-info">
|
||||
<h4><?php _e('Sobre', 'intranet'); ?> <?php the_author(); ?></h4>
|
||||
<p><?php echo get_the_author_meta('description'); ?></p>
|
||||
<a href="<?php echo get_author_posts_url(get_the_author_meta('ID')); ?>" class="author-link">
|
||||
<?php _e('Ver todos os posts', 'intranet'); ?> <i class="fas fa-arrow-right"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Posts Relacionados -->
|
||||
<?php get_template_part('template-parts/related-posts'); ?>
|
||||
|
||||
<!-- Comentários -->
|
||||
<?php if (comments_open() || get_comments_number()) : ?>
|
||||
<div class="comments-section">
|
||||
<?php comments_template(); ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php get_sidebar(); ?>
|
||||
</main>
|
||||
<?php get_footer(); ?>
|
14
template-parts/content.php
Normal file
14
template-parts/content.php
Normal file
@@ -0,0 +1,14 @@
|
||||
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
|
||||
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
|
||||
<div class="post-meta">
|
||||
<span><?php _e('Publicado em:', 'intranet'); ?> <?php echo get_the_date(); ?></span>
|
||||
</div>
|
||||
<?php if (has_post_thumbnail()) : ?>
|
||||
<div class="post-thumbnail">
|
||||
<?php the_post_thumbnail('noticia-thumb'); ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div class="entry-summary">
|
||||
<?php the_excerpt(); ?>
|
||||
</div>
|
||||
</article>
|
Reference in New Issue
Block a user