Plugins bloques
This commit is contained in:
@@ -0,0 +1,493 @@
|
||||
<?php
|
||||
/**
|
||||
* Template: Dashboard de Bloques en Transición
|
||||
*
|
||||
* @package Bloques_Transicion
|
||||
*/
|
||||
|
||||
if (!defined('ABSPATH')) {
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div class="wrap bloques-dashboard">
|
||||
<h1>
|
||||
<span class="dashicons dashicons-building"></span>
|
||||
<?php _e('Bloques en Transición', 'bloques-transicion'); ?>
|
||||
</h1>
|
||||
|
||||
<div class="bloques-dashboard-welcome">
|
||||
<h2><?php _e('Bienvenido al panel de gestión del microsite', 'bloques-transicion'); ?></h2>
|
||||
<p><?php _e('Desde aquí puedes gestionar todo el contenido del microsite "Bloques en Transición".', 'bloques-transicion'); ?></p>
|
||||
</div>
|
||||
|
||||
<div class="bloques-dashboard-stats">
|
||||
<div class="bloques-stat-card">
|
||||
<div class="bloques-stat-icon">
|
||||
<span class="dashicons dashicons-location-alt"></span>
|
||||
</div>
|
||||
<div class="bloques-stat-content">
|
||||
<span class="bloques-stat-number"><?php echo esc_html($counts['actuacion']); ?></span>
|
||||
<span class="bloques-stat-label"><?php _e('Actuaciones', 'bloques-transicion'); ?></span>
|
||||
</div>
|
||||
<a href="<?php echo admin_url('edit.php?post_type=actuacion'); ?>" class="bloques-stat-link">
|
||||
<?php _e('Ver todas', 'bloques-transicion'); ?> →
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="bloques-stat-card">
|
||||
<div class="bloques-stat-icon">
|
||||
<span class="dashicons dashicons-media-document"></span>
|
||||
</div>
|
||||
<div class="bloques-stat-content">
|
||||
<span class="bloques-stat-number"><?php echo esc_html($counts['recurso_bloques']); ?></span>
|
||||
<span class="bloques-stat-label"><?php _e('Recursos', 'bloques-transicion'); ?></span>
|
||||
</div>
|
||||
<a href="<?php echo admin_url('edit.php?post_type=recurso_bloques'); ?>" class="bloques-stat-link">
|
||||
<?php _e('Ver todos', 'bloques-transicion'); ?> →
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="bloques-stat-card">
|
||||
<div class="bloques-stat-icon">
|
||||
<span class="dashicons dashicons-calendar-alt"></span>
|
||||
</div>
|
||||
<div class="bloques-stat-content">
|
||||
<span class="bloques-stat-number"><?php echo esc_html($counts['evento_bloques']); ?></span>
|
||||
<span class="bloques-stat-label"><?php _e('Eventos', 'bloques-transicion'); ?></span>
|
||||
</div>
|
||||
<a href="<?php echo admin_url('edit.php?post_type=evento_bloques'); ?>" class="bloques-stat-link">
|
||||
<?php _e('Ver todos', 'bloques-transicion'); ?> →
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bloques-dashboard-taxonomies">
|
||||
<h3><?php _e('Categorías', 'bloques-transicion'); ?></h3>
|
||||
<div class="bloques-tax-cards">
|
||||
<div class="bloques-tax-card">
|
||||
<strong><?php _e('Iniciativas', 'bloques-transicion'); ?></strong>
|
||||
<span class="bloques-tax-count"><?php echo esc_html($iniciativas); ?></span>
|
||||
<a href="<?php echo admin_url('edit-tags.php?taxonomy=iniciativa'); ?>">
|
||||
<?php _e('Gestionar', 'bloques-transicion'); ?>
|
||||
</a>
|
||||
</div>
|
||||
<div class="bloques-tax-card">
|
||||
<strong><?php _e('Líneas de Trabajo', 'bloques-transicion'); ?></strong>
|
||||
<span class="bloques-tax-count"><?php echo esc_html($lineas); ?></span>
|
||||
<a href="<?php echo admin_url('edit-tags.php?taxonomy=linea_trabajo'); ?>">
|
||||
<?php _e('Gestionar', 'bloques-transicion'); ?>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bloques-dashboard-shortcuts">
|
||||
<h3><?php _e('Acciones rápidas', 'bloques-transicion'); ?></h3>
|
||||
<div class="bloques-shortcuts">
|
||||
<a href="<?php echo admin_url('post-new.php?post_type=actuacion'); ?>" class="button button-primary">
|
||||
<span class="dashicons dashicons-plus-alt"></span>
|
||||
<?php _e('Nueva Actuación', 'bloques-transicion'); ?>
|
||||
</a>
|
||||
<a href="<?php echo admin_url('post-new.php?post_type=recurso_bloques'); ?>" class="button button-primary">
|
||||
<span class="dashicons dashicons-plus-alt"></span>
|
||||
<?php _e('Nuevo Recurso', 'bloques-transicion'); ?>
|
||||
</a>
|
||||
<a href="<?php echo admin_url('post-new.php?post_type=evento_bloques'); ?>" class="button button-primary">
|
||||
<span class="dashicons dashicons-plus-alt"></span>
|
||||
<?php _e('Nuevo Evento', 'bloques-transicion'); ?>
|
||||
</a>
|
||||
<a href="<?php echo admin_url('admin.php?page=bloques-settings'); ?>" class="button">
|
||||
<span class="dashicons dashicons-admin-customizer"></span>
|
||||
<?php _e('CSS personalizado', 'bloques-transicion'); ?>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bloques-dashboard-shortcodes">
|
||||
<h3><?php _e('Guía de Shortcodes', 'bloques-transicion'); ?></h3>
|
||||
|
||||
<div class="bloques-shortcode-section">
|
||||
<h4><?php _e('Shortcode principal', 'bloques-transicion'); ?></h4>
|
||||
<p class="description"><?php _e('Usa este shortcode para mostrar cualquier tipo de contenido con filtros y paginación.', 'bloques-transicion'); ?></p>
|
||||
|
||||
<table class="wp-list-table widefat fixed striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 45%;"><?php _e('Shortcode', 'bloques-transicion'); ?></th>
|
||||
<th><?php _e('Descripción', 'bloques-transicion'); ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>[bloques-listado type="recursos" filter="true"]</code></td>
|
||||
<td><?php _e('Recursos con filtros tipo botonera', 'bloques-transicion'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>[bloques-listado type="recursos" limit="9" pagination="true"]</code></td>
|
||||
<td><?php _e('Recursos con botón "Ver más"', 'bloques-transicion'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>[bloques-listado type="noticias" columns="3"]</code></td>
|
||||
<td><?php _e('Noticias en grid de 3 columnas', 'bloques-transicion'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>[bloques-listado type="eventos" widget="list"]</code></td>
|
||||
<td><?php _e('Eventos en formato lista', 'bloques-transicion'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>[bloques-listado type="actuaciones" filter="true" search="true"]</code></td>
|
||||
<td><?php _e('Actuaciones con filtros y buscador', 'bloques-transicion'); ?></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h5><?php _e('Atributos disponibles', 'bloques-transicion'); ?></h5>
|
||||
<table class="wp-list-table widefat fixed striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 20%;"><?php _e('Atributo', 'bloques-transicion'); ?></th>
|
||||
<th style="width: 25%;"><?php _e('Valores', 'bloques-transicion'); ?></th>
|
||||
<th style="width: 15%;"><?php _e('Default', 'bloques-transicion'); ?></th>
|
||||
<th><?php _e('Descripción', 'bloques-transicion'); ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>type</code></td>
|
||||
<td>recursos | noticias | eventos | actuaciones</td>
|
||||
<td>recursos</td>
|
||||
<td><?php _e('Tipo de contenido a mostrar', 'bloques-transicion'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>widget</code></td>
|
||||
<td>grid | list</td>
|
||||
<td>grid</td>
|
||||
<td><?php _e('Modo de visualización', 'bloques-transicion'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>columns</code></td>
|
||||
<td>1 | 2 | 3 | 4</td>
|
||||
<td>3</td>
|
||||
<td><?php _e('Número de columnas en grid', 'bloques-transicion'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>limit</code></td>
|
||||
<td>número</td>
|
||||
<td>-1 (todos)</td>
|
||||
<td><?php _e('Número máximo de items', 'bloques-transicion'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>pagination</code></td>
|
||||
<td>true | false</td>
|
||||
<td>false</td>
|
||||
<td><?php _e('Mostrar botón "Ver más"', 'bloques-transicion'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>filter</code></td>
|
||||
<td>true | false</td>
|
||||
<td>false</td>
|
||||
<td><?php _e('Mostrar filtros tipo botonera', 'bloques-transicion'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>search</code></td>
|
||||
<td>true | false</td>
|
||||
<td>false</td>
|
||||
<td><?php _e('Mostrar campo de búsqueda', 'bloques-transicion'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>iniciativa</code></td>
|
||||
<td>slug</td>
|
||||
<td>-</td>
|
||||
<td><?php _e('Filtrar por iniciativa (slug)', 'bloques-transicion'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>linea</code></td>
|
||||
<td>slug</td>
|
||||
<td>-</td>
|
||||
<td><?php _e('Filtrar por línea de trabajo (slug)', 'bloques-transicion'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>upcoming</code></td>
|
||||
<td>true | false</td>
|
||||
<td>true</td>
|
||||
<td><?php _e('Solo eventos futuros (solo para eventos)', 'bloques-transicion'); ?></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="bloques-shortcode-section">
|
||||
<h4><?php _e('Shortcodes con header (para Home)', 'bloques-transicion'); ?></h4>
|
||||
<p class="description"><?php _e('Bloques con cabecera y enlace "Ver más" para usar en la página de inicio.', 'bloques-transicion'); ?></p>
|
||||
|
||||
<table class="wp-list-table widefat fixed striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 45%;"><?php _e('Shortcode', 'bloques-transicion'); ?></th>
|
||||
<th><?php _e('Descripción', 'bloques-transicion'); ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>[bloques-novedades limit="3"]</code></td>
|
||||
<td><?php _e('Bloque de novedades con icono y enlace', 'bloques-transicion'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>[bloques-agenda limit="4"]</code></td>
|
||||
<td><?php _e('Bloque de agenda con próximos eventos', 'bloques-transicion'); ?></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h5><?php _e('Atributos para bloques con header', 'bloques-transicion'); ?></h5>
|
||||
<table class="wp-list-table widefat fixed striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 20%;"><?php _e('Atributo', 'bloques-transicion'); ?></th>
|
||||
<th style="width: 35%;"><?php _e('Default', 'bloques-transicion'); ?></th>
|
||||
<th><?php _e('Descripción', 'bloques-transicion'); ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>limit</code></td>
|
||||
<td>3 (novedades) / 4 (agenda)</td>
|
||||
<td><?php _e('Número de items', 'bloques-transicion'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>title</code></td>
|
||||
<td>"Novedades" / "Agenda"</td>
|
||||
<td><?php _e('Título del bloque', 'bloques-transicion'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>subtitle</code></td>
|
||||
<td>"Últimas noticias..." / "Próximas actividades"</td>
|
||||
<td><?php _e('Subtítulo', 'bloques-transicion'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>show_header</code></td>
|
||||
<td>true</td>
|
||||
<td><?php _e('Mostrar cabecera con icono', 'bloques-transicion'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>link_text</code></td>
|
||||
<td>"Ver todas las novedades" / "Ver calendario completo"</td>
|
||||
<td><?php _e('Texto del enlace', 'bloques-transicion'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>link_url</code></td>
|
||||
<td>/bloques-en-transicion/noticias/ | /bloques-en-transicion/eventos/</td>
|
||||
<td><?php _e('URL del enlace', 'bloques-transicion'); ?></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="bloques-shortcode-section">
|
||||
<h4><?php _e('Shortcodes de taxonomías', 'bloques-transicion'); ?></h4>
|
||||
<table class="wp-list-table widefat fixed striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 45%;"><?php _e('Shortcode', 'bloques-transicion'); ?></th>
|
||||
<th><?php _e('Descripción', 'bloques-transicion'); ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>[bloques-iniciativas columns="4"]</code></td>
|
||||
<td><?php _e('Cards de iniciativas', 'bloques-transicion'); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>[bloques-lineas columns="6"]</code></td>
|
||||
<td><?php _e('Líneas de trabajo con iconos', 'bloques-transicion'); ?></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="bloques-shortcode-section">
|
||||
<h4><?php _e('Ejemplos de uso', 'bloques-transicion'); ?></h4>
|
||||
<div class="bloques-examples">
|
||||
<div class="bloques-example">
|
||||
<strong><?php _e('Página de Recursos:', 'bloques-transicion'); ?></strong>
|
||||
<code>[bloques-listado type="recursos" filter="true" search="true" limit="12" pagination="true"]</code>
|
||||
</div>
|
||||
<div class="bloques-example">
|
||||
<strong><?php _e('Home - Novedades y Agenda:', 'bloques-transicion'); ?></strong>
|
||||
<code>[bloques-novedades limit="3"]</code>
|
||||
<code>[bloques-agenda limit="4"]</code>
|
||||
</div>
|
||||
<div class="bloques-example">
|
||||
<strong><?php _e('Recursos de una iniciativa:', 'bloques-transicion'); ?></strong>
|
||||
<code>[bloques-listado type="recursos" iniciativa="coles-en-transicion"]</code>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.bloques-dashboard-welcome {
|
||||
background: linear-gradient(135deg, #1E6B52 0%, #2A9D8F 100%);
|
||||
color: white;
|
||||
padding: 30px;
|
||||
border-radius: 12px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
.bloques-dashboard-welcome h2 {
|
||||
color: white;
|
||||
margin-top: 0;
|
||||
}
|
||||
.bloques-dashboard-welcome p {
|
||||
opacity: 0.9;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.bloques-dashboard-stats {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 20px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
.bloques-stat-card {
|
||||
background: white;
|
||||
padding: 20px;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
}
|
||||
.bloques-stat-icon {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
border-radius: 10px;
|
||||
background: #f0f9f7;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.bloques-stat-icon .dashicons {
|
||||
font-size: 24px;
|
||||
color: #1E6B52;
|
||||
}
|
||||
.bloques-stat-number {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
color: #1f2937;
|
||||
}
|
||||
.bloques-stat-label {
|
||||
color: #6b7280;
|
||||
font-size: 14px;
|
||||
}
|
||||
.bloques-stat-link {
|
||||
color: #F97316;
|
||||
text-decoration: none;
|
||||
font-weight: 500;
|
||||
}
|
||||
.bloques-dashboard-taxonomies,
|
||||
.bloques-dashboard-shortcuts,
|
||||
.bloques-dashboard-shortcodes {
|
||||
background: white;
|
||||
padding: 25px;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.bloques-dashboard-taxonomies h3,
|
||||
.bloques-dashboard-shortcuts h3,
|
||||
.bloques-dashboard-shortcodes h3 {
|
||||
margin-top: 0;
|
||||
padding-bottom: 15px;
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
.bloques-tax-cards {
|
||||
display: flex;
|
||||
gap: 20px;
|
||||
margin-top: 15px;
|
||||
}
|
||||
.bloques-tax-card {
|
||||
background: #f8f9fa;
|
||||
padding: 15px 20px;
|
||||
border-radius: 6px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 15px;
|
||||
}
|
||||
.bloques-tax-count {
|
||||
background: #1E6B52;
|
||||
color: white;
|
||||
padding: 4px 12px;
|
||||
border-radius: 20px;
|
||||
font-size: 13px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.bloques-shortcuts {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 10px;
|
||||
margin-top: 15px;
|
||||
}
|
||||
.bloques-shortcuts .button {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
}
|
||||
.bloques-shortcode-section {
|
||||
margin-top: 25px;
|
||||
padding-top: 20px;
|
||||
border-top: 1px solid #eee;
|
||||
}
|
||||
.bloques-shortcode-section:first-of-type {
|
||||
margin-top: 15px;
|
||||
padding-top: 0;
|
||||
border-top: none;
|
||||
}
|
||||
.bloques-shortcode-section h4 {
|
||||
margin: 0 0 10px;
|
||||
color: #1E6B52;
|
||||
}
|
||||
.bloques-shortcode-section h5 {
|
||||
margin: 20px 0 10px;
|
||||
color: #374151;
|
||||
}
|
||||
.bloques-shortcode-section .description {
|
||||
margin-bottom: 15px;
|
||||
color: #6b7280;
|
||||
}
|
||||
.bloques-examples {
|
||||
background: #f8f9fa;
|
||||
padding: 20px;
|
||||
border-radius: 6px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 15px;
|
||||
}
|
||||
.bloques-example {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
}
|
||||
.bloques-example strong {
|
||||
color: #374151;
|
||||
}
|
||||
.bloques-example code {
|
||||
background: white;
|
||||
padding: 8px 12px;
|
||||
border-radius: 4px;
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
}
|
||||
@media (max-width: 1024px) {
|
||||
.bloques-dashboard-stats {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
}
|
||||
@media (max-width: 768px) {
|
||||
.bloques-dashboard-stats {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
.bloques-tax-cards {
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user