WordPress es el software de código abierto para la creación de sitios Web más conocido y utilizado en la actualidad, y su última versión es incluso más sencilla de utilizar.
En...
WordPress es el software de código abierto para la creación de sitios Web más conocido y utilizado en la actualidad, y su última versión es incluso más sencilla de utilizar.
En esta obra encontrará ejemplos, códigos y consejos, que ofrecen soluciones a las necesidades actuales de los desarrolladores. Todos los capítulos han sido diseñados para que los lectores aumenten su conocimiento de WordPress 4.1. desde el interior, centrándose en la estructura interna y el flujo del código del núcleo, además del modelo de datos sobre el que opera dicho código.
Este libro es un recurso fundamental que le ofrece todo lo necesario para desarrollar sitios con WordPress 4.1. Dirigido a todo tipo de desarrolladores, desde los que buscan personalizar un tema de WordPress hasta los programadores avanzados, pasando por los usuarios que utilicen WordPress como sistema de administración de contenidos en una gran empresa.
Índice
Agradecimientos
Sobre los autores
Sobre la editora técnica
Introducción
A quién va dirigido este libro
Estructura del libro
Requisitos para usar este libro
Convenciones utilizadas en este libro
Código fuente
1. La primera entrada
¿Qué es WordPress?
La popularidad de WordPress
La situación actual
Interacción con la comunidad
WordPress y la GPL
Contenido y conversación
WordPress como sistema de administración de contenidos
Crear conversación
Primeros pasos
Opciones de alojamiento
Instalación personalizada
Retoques finales
Administración inicial
La primera entrada
Resumen
2. Presentación del código
Descarga
Ubicaciones de descarga
Formatos disponibles
Archivo de versiones de lanzamiento
Estructura de archivos y directorios
Configuración de WordPress
El archivo wp-config.php
Opciones avanzadas de wp-config
.htaccess
El archivo .maintenance
wp-content y los usuarios
Plugins
Temas
El directorio de transferencias y medios
El directorio de actualizaciones
Directorios personalizados
Resumen
3. Trabajar de forma local con WordPress
Ventajas de trabajar de forma local
Ciclo de desarrollo típico
¿Por qué tantos procesos?
Herramientas para la administración de componentes
La pila de desarrollo
Añadir WordPress a la instalación local
Detalles de configuración
Administrar el árbol de documentos del servidor Web
Habilitar información de depuración
Controlar la base de datos local y de producción
Crear nombres de servidores locales virtuales
Desarrollo local de temas y plugins
Equipos virtuales
Implementar cambios locales
Resumen
4. Un recorrido por el núcleo
Contenidos del núcleo
Utilizar el núcleo como referencia
Documentación interna
Buscar funciones
Explorar el núcleo
Funciones obsoletas
El Codex y la Referencia de código
El Codex
Utilizar el Codex
Referencia de funciones
API de WordPress
La controversia del Codex
Referencia del código
Utilizar la Referencia de código
Detalles de la Referencia de código
El Codex frente a la Referencia de código
No modifique el núcleo
Las razones
Alternativas a la modificación del núcleo
Resumen
5. El bucle
Entender el bucle
De parámetros de consulta a SQL
El contenido en WordPress
El contexto del bucle
El flujo del bucle
Etiquetas de plantilla
Etiquetas de plantilla más utilizadas
Parámetros de etiqueta
Personalizar el bucle
Utilizar el objeto WP_Query
Generar una consulta personalizada
Añadir paginación a un bucle
Utilizar el conector pre_get_posts
Utilizar query_posts()
Utilizar get_posts()
Restablecer una consulta
Más de un bucle
Consultas avanzadas
Variables globales
Datos de entradas
Datos de autor
Datos de usuario
Datos de entorno
¿Variables globales o etiquetas de plantilla?
Trabajar fuera del bucle
Resumen
6. Administración de datos
Esquema de base de datos
Detalles de tablas
Tablas de contenido de WordPress
Tablas de taxonomía de WordPress
La clase de base de datos de WordPress
Consultas sencillas de base de datos
Operaciones complejas de base de datos
Solucionar errores
Manipulación directa de la base de datos
Resumen
7. Tipos de entrada personalizados, taxonomías personalizadas y metadatos
Los datos en WordPress
¿Qué es un tipo de entrada personalizado?
Registrar tipos de entrada personalizados
Establecer etiquetas de tipos de entrada
Trabajar con tipos de entrada personalizados
Archivos de plantilla de tipos de entrada personalizados
Funciones especiales de tipos de entrada
Taxonomías de WordPress
Taxonomías predeterminadas
Estructura de las tablas de taxonomía
Relaciones de taxonomía
Crear taxonomías propias
Taxonomías personalizadas
Crear taxonomías personalizadas
Definir etiquetas de taxonomía personalizadas
Utilizar su taxonomía personalizada
Metadatos
¿Qué son los metadatos?
Añadir metadatos
Actualizar metadatos
Borrar metadatos
Recuperar metadatos
Proyectos de la comunidad
Resumen
8. Desarrollo de plugins
Empaquetar plugins
Crear un archivo de plugin
Crear el encabezado del plugin
Licencia de plugins
Activar y desactivar funciones
Internacionalización
Determinar rutas
Seguridad de plugins
Nonce
Validación y saneamiento de datos
Conectores: acciones y filtros
Acciones y filtros
Conectores de filtro más habituales
Conectores de acción más habituales
Ajustes de plugins
Guardar opciones de plugins
Matrices de opciones
Crear un menú y submenús
Crear una página de opciones
Integración en WordPress
Crear un metacuadro
Códigos breves (shortcodes)
Crear un widget
Crear un widget de escritorio
Crear tablas personalizadas
Desinstalar su plugin
Crear un plugin de ejemplo
Publicar en el directorio de plugins
Restricciones
Enviar el plugin
Crear un archivo readme.txt
Configurar SVN
Publicar en el directorio de plugins
Publicar una nueva versión
Activos de plugins
Resumen
9. Desarrollo de temas
Por qué utilizar un tema
Instalar un tema
Instalación con FTP
Instalador de temas
¿Qué es un tema?
Archivos de plantilla
CSS
Imágenes y activos
Plugins
Crear un tema propio
Temas de proyecto frente a temas secundarios
Qué buscar en un tema inicial
Crear un tema propio: primeros pasos
Un archivo fundamental: style.css
Mostrar el contenido: index.php
Mostrar el contenido de diversas formas: index.php
Crear un tema propio: DRY
Header.php
Footer.php
Sidebar.php
Desviaciones de la norma: etiquetas condicionales
Crear un tema propio: mostrar contenido
Personalizar su página principal: front-page.php
Mostrar entradas antiguas por fecha: archive.php
Mostrar una única categoría: category.php
Otras plantillas de archivo
Mostrar una única entrada: single.php
Mostrar una página: page.php
Mostrar adjuntos de entradas: attachment.php
Mostrar tipos de entrada personalizados
Jerarquía de plantillas
Crear un tema propio: archivos adicionales
Controlar errores 404: 404.php
Author.php
Comments.php
Añadir características a sus plantillas: functions.php
Search.php
SearchForm.php
Otros archivos
Plantillas de página personalizadas
Cuándo utilizar plantillas de página personalizadas
Cómo utilizar plantillas de página personalizadas
Plantillas de página predefinidas de Twenty Fourteen
Otras mejoras de temas
Administración de menús
Áreas de widget
Formatos de entrada
Ajustes de temas
Personalizador de temas
Jerarquía de temas y temas secundarios
Temas profesionales y otras estructuras de temas
Underscores (_s)
Bones
Carrington
Genesis
Hybrid Core
Otros temas
Resumen
10. Multisite
¿Qué es Multisite?
Terminología de Multisite
Diferencias
Ventajas de Multisite
Habilitar Multisite
Trabajar en una red
Administrador de la red
Crear y mantener sitios
Trabajar con usuarios y funciones
Temas y plugins
Ajustes
Asignación de dominios
Crear código para Multisite
ID de blog
Funciones comunes
Intercambiar y restaurar sitios
Crear un sitio nuevo
Menús de administración de red
Opciones de Multisite
Usuarios de una red
Superadministradores
Estadísticas de red
Redes de gran tamaño Networks
Esquema de base de datos de Multisite
Tablas específicas de Multisite
Tablas específicas de un sitio
Resumen
11. Migrar a WordPress
Entender el proceso
Orígenes de contenido
Lista de control para migraciones
Preparar el sitio
Identificación del contenido
Migrar documentos de texto
Herramientas de importación integradas en WordPress
Diseñar una secuencia de comandos de importación personalizada
Migración de medios
Mover metadatos
Cambiar autores y usuarios
Tema y presentación
Funcionalidad propia
Limpieza
Ajustes manuales
Limitaciones de importación
Actualizar URL
Redirección
Lanzamiento
WP-CLI
Qué es WP-CLI
Instalar WP-CLI
Ejemplo de migración
Resumen
12. Diseñar la experiencia del usuario
Principios de la experiencia del usuario
Navegación coherente
Elementos de diseño visuales
Facilitar la localización del contenido
Tiempos de carga del sitio
Utilizar JavaScript
Facilidad de uso y pruebas de facilidad de uso
Estructurar su información
Hacer que un sitio se pueda encontrar
Contenido duplicado
Retroenlaces y ping
Estándares Web para que sus datos sean detectados
HTML semántico
HTML válido
Microformatos
HTML5
CSS3
Buscar en su propio sitio
Debilidades de la búsqueda predeterminada
Alternativas y plugins
Acceso móvil y diseño Web adaptativo
No hacer nada
Móvil ligero
Diseño adaptativo
Resumen
13. Proteger WordPress
Proteger su sitio de WordPress
Mantenerse al día
Ocultar la información de la versión de WordPress
No utilizar nunca el nombre usuario Admin
Limitar los intentos de conexión
Utilizar contraseñas de calidad
Cambiar el prefijo de tabla
Reubicar el archivo de configuración
Reubicar el directorio de contenido
Utilizar la función de claves secretas
Forzar SSL en el inicio de sesión y la administración
Permisos de Apache
Credenciales MySQL
Perfiles de WordPress
Perfil Suscriptor
Perfil Colaborador
Perfil Autor
Perfil Editor
Perfil Administrador
Perfil Superadministrador
Repaso de los perfiles
Ampliar los perfiles
Plugins de seguridad recomendados
BulletProof Security
WP-Security Scan
WordFence Security
Resumen
14. Estructura de aplicaciones
Qué es una estructura de aplicaciones
WordPress como estructura de aplicaciones
Administración de usuarios
Motor de plantillas
CRUD
Almacenamiento en caché
URL sencillas
API externas
Transferencias y administración de medios
Tareas programadas
Flexibilidad
Resumen
15. WordPress en el mundo real
¿Es WordPress la herramienta adecuada?
Si WordPress no es la solución adecuada
Definir la administración de contenidos
Flujo de trabajo y delegación
Perfiles de usuario y delegación
Flujo de trabajo
Organización del contenido
Compatibilidad con temas y widgets
Páginas principales
Páginas de contenido destacado
Jerarquía de contenido
Funciones interactivas
Foros
Formularios
Comercio electrónico
Escalabilidad
Ajustar el rendimiento
Optimizaciones de bases de datos
Mantenimiento regular de la base de datos
Escalar el hardware
Contadores de estadísticas
AWStats
Google Analytics
JetPack de WordPress.com
Administración en caché
Complejidad del sistema WordPress
Almacenamiento en caché y optimización del servidor Web
Almacenamiento en caché de objetos de WordPress
Cachés transitorias
Caché de consultas MySQL
Equilibrar la carga de un sitio de WordPress
Enfrentarse al spam
Moderación de comentarios y CAPTCHA
Detección automática del spam
Otros sistemas de administración de contenidos
Integración de WordPress
Cuándo no utilizar WordPress
Resumen
16. La comunidad de desarrolladores de WordPress
Colaborar con WordPress
Trac
Trabajar en el núcleo
Remitir plugins y temas
Documentación
Proyectos relacionados
BuddyPress
bbPress
Próximos proyectos
Recursos
Codex
Handbooks (Guías)
Foros de asistencia
Chat de WordPress
Listas de correo
Recursos externos
WordCamp y Meetups
WordPress.TV
Directorios de temas y plugins
WordPress Ideas
Actualizaciones de desarrollo de WordPress
Make WordPress.org
Podcasts de WordPress
Sitios de noticias sobre WordPress
Resumen
Índice alfabético