SlideShare una empresa de Scribd logo
WordPress Training
Fernando Tellado
@fernandot
¿Quién soy?
Culpable de Ayuda WordPress
Consultor y profesor WordPress
Consultor y profesor branding
Admin es.WordPress.org
GTE WordPress español
Brand Ambassador SiteGround España y Yith
Promotor de WPCampus España
Escritor…
@fernandot
AyudaWP
@fernandot
AyudaWP
@fernandot
AyudaWP
WordPress Training
Introducción a WordPress
Otros CMS ¿existen?
Diferencias entre .com y .org
Qué es un plugin/tema
Páginas y entradas
@fernandot
AyudaWP
Otros CMS ¿existen?
@fernandot
AyudaWP
trends.builtwith.com/cms/country/Spain
66%
WordPress .com vs .org
@fernandot
AyudaWP
Libre y gratuito
Código disponible
Elección hosting
Escalable
¡¡LIBERTAD!!
WordPress.org WordPress.com
Servicio freemium
Código no disponible
Alojado
No profesional
LIMITADO
Qué es un plugin / tema
@fernandot
AyudaWP
Aplicaciones
Añaden o cambian
funcionalidades
Miles gratuitos
wordpress.org/plugins/
Plugins Temas
Diseño / plantillas
Cambio a 1 clic,
personalización
Miles gratuitos
wordpress.org/themes
Páginas o entradas
@fernandot
AyudaWP
Contenido estático
Contenido perenne
Se muestran en menús
Tienen jerarquía
No tienen taxonomías
Páginas Entradas
Contenido dinámico
Contenido actualizado
Se muestran en blog
No tienen jerarquía
Tienen taxonomías
Gestionando WordPress
Instalar WordPress (3 modos)
Ajustes de WordPress
Elegir/instalar plugins
Elegir/instalar temas
Gestión de menús
Gestión de widgets
Gestión de usuarios, perfiles y capacidades
Actualizaciones
@fernandot
AyudaWP
Instalar WordPress
Instalación Softaculous 1 clic
Instalación manual Administrador archivos cPanel
Instalación manual FTP
@fernandot
AyudaWP
Softaculous
@fernandot
AyudaWP
cPanel Archivos
@fernandot
AyudaWP
cPanel Archivos
@fernandot
AyudaWP
cPanel Archivos
@fernandot
AyudaWP
cPanel Archivos
@fernandot
AyudaWP
cPanel Archivos
@fernandot
AyudaWP
FTP
@fernandot
AyudaWP
FTP
@fernandot
AyudaWP
Instalar WordPress
@fernandot
AyudaWP
Instalar WordPress
@fernandot
AyudaWP
Ajustes de WordPress
@fernandot
AyudaWP
Ajustes de WordPress
@fernandot
AyudaWP
Ajustes de WordPress
@fernandot
AyudaWP
Ajustes de WordPress
@fernandot
AyudaWP
Ajustes de WordPress
@fernandot
AyudaWP
Ajustes de WordPress
@fernandot
AyudaWP
Ajustes de WordPress
@fernandot
AyudaWP
Elegir/instalar plugins
@fernandot
AyudaWP
Elegir/instalar plugins
@fernandot
AyudaWP
Elegir/instalar plugins
@fernandot
AyudaWP
Elegir/instalar temas
@fernandot
AyudaWP
Elegir/instalar temas
@fernandot
AyudaWP
Elegir/instalar temas
@fernandot
AyudaWP
Elegir/instalar temas
@fernandot
AyudaWP
Elegir/instalar temas
@fernandot
AyudaWP
Gestión de menús
@fernandot
AyudaWP
Gestión de menús
@fernandot
AyudaWP
Gestión de menús
@fernandot
AyudaWP
Gestión de menús
@fernandot
AyudaWP
Gestión de widgets
@fernandot
AyudaWP
Gestión de widgets
@fernandot
AyudaWP
Gestión de widgets
@fernandot
AyudaWP
Gestión de usuarios
@fernandot
AyudaWP
Gestión de usuarios
@fernandot
AyudaWP
Gestión de usuarios
@fernandot
AyudaWP
Actualizaciones
@fernandot
AyudaWP
Actualizaciones
@fernandot
AyudaWP
Actualizaciones
@fernandot
AyudaWP
Actualizaciones
@fernandot
AyudaWP
Actualizaciones
@fernandot
AyudaWP
Actualizaciones
@fernandot
AyudaWP
Actualizaciones
@fernandot
AyudaWP
Actualizaciones
@fernandot
AyudaWP
Gestión de contenidos
El editor de WordPress
Diferencias entradas/páginas
Categorías y etiquetas
Formatos de entrada
Formatos de texto
Enlaces
@fernandot
AyudaWP
Añadir medios
Extracto
El “slug”
Imagen destacada
Gestión de comentarios
El editor de WordPress
@fernandot
AyudaWP
El editor de WordPress
@fernandot
AyudaWP
El editor de WordPress
@fernandot
AyudaWP
El editor de WordPress
@fernandot
AyudaWP
El editor de WordPress
@fernandot
AyudaWP
Estados:
Borrador
Pendiente de revisión
Programada
Publicada
Visibilidad:
Pública
Fija
Protegida con contraseña
Privada
Publicar:
Inmediatamente
Programar
El editor de WordPress
@fernandot
AyudaWP
Visibilidad:
Pública: Por defecto
Fija: No le afecta la
cronología
Protegida con contraseña:
Pública con contraseña
Privada: Solo usuarios
registrados
El editor de WordPress
@fernandot
AyudaWP
El editor de WordPress
@fernandot
AyudaWP
Entradas y páginas
ENTRADAS
Contenido dinámico
Blog
Cronología inversa
Taxonomías
“Loop” dinámico
Sin jerarquía
@fernandot
AyudaWP
PÁGINAS
Contenido estático
Menús
Sin cronología
Sin taxonomías
Portada estática
Jerarquía: subpáginas
Entradas y páginas
@fernandot
AyudaWP
Entradas y páginas
@fernandot
AyudaWP
Etiquetas y categorías
@fernandot
AyudaWP
CATEGORÍAS
Jerarquía
De qué habla esta
web/blog
Créalas antes de
empezar a escribir
ETIQUETAS
Sin jerarquía
De qué habla esta
entrada
Créalas después de
escribir cada entrada
Etiquetas y categorías
@fernandot
AyudaWP
TAXONOMÍAS
CUALQUIER MODO DE ORGANIZAR,
ORDENAR Y CLASIFICAR ELEMENTOS
Categorías
@fernandot
AyudaWP
Categorías
@fernandot
AyudaWP
Categorías
@fernandot
AyudaWP
Etiquetas
@fernandot
AyudaWP
Etiquetas
@fernandot
AyudaWP
Categorías y etiquetas
@fernandot
AyudaWP
Formatos de entrada
Dependen del
tema
Cambian
visualización
Recurso de
navegación
@fernandot
AyudaWP
Formatos de entrada
@fernandot
AyudaWP
Formatos de entrada
@fernandot
AyudaWP
Formatos de texto
@fernandot
AyudaWP
Formatos de texto
@fernandot
AyudaWP
NUNCA uses Título 1 en
tu texto. El título de la
entrada ya es tu Título 1.
Sigue una jerarquía
Preformateado para
códigos
Formatos de texto
@fernandot
AyudaWP
Formatos de texto
@fernandot
AyudaWP
Formatos de texto
@fernandot
AyudaWP
Formatos de texto
@fernandot
AyudaWP
Formatos de texto
@fernandot
AyudaWP
Formatos de texto
@fernandot
AyudaWP
Formatos de texto
@fernandot
AyudaWP
Formatos de texto
@fernandot
AyudaWP
Formatos de texto
@fernandot
AyudaWP
Enlaces
@fernandot
AyudaWP
Icono del editor
Copiar y pegar URL encima del texto
Atajo de teclado (Ctrl/Cmd+k)
Enlaces
@fernandot
AyudaWP
Enlaces
@fernandot
AyudaWP
Enlaces
@fernandot
AyudaWP
Enlaces
@fernandot
AyudaWP
Enlaces
@fernandot
AyudaWP
Añadir medios
oEmbed (YouTube, Flickr, Instagram, Spotify, Vimeo,
Twitter, blogs, etc.): copia+pega URL
iFrame
Añadir objeto: imagen, audio, documento, vídeo
@fernandot
AyudaWP
Añadir medios - oEmbed
@fernandot
AyudaWP
Añadir medios - oEmbed
@fernandot
AyudaWP
Añadir medios - oEmbed
@fernandot
AyudaWP
Añadir medios - oEmbed
@fernandot
AyudaWP
Añadir medios - oEmbed
@fernandot
AyudaWP
Añadir medios - oEmbed
@fernandot
AyudaWP
Añadir medios - oEmbed
@fernandot
AyudaWP
Añadir medios - iframe
@fernandot
AyudaWP
Añadir medios - iframe
@fernandot
AyudaWP
Añadir objeto
@fernandot
AyudaWP
Añadir objeto
@fernandot
AyudaWP
Añadir objeto
@fernandot
AyudaWP
Añadir objeto
@fernandot
AyudaWP
Añadir objeto
@fernandot
AyudaWP
Añadir objeto
@fernandot
AyudaWP
Añadir objeto
@fernandot
AyudaWP
Añadir objeto
@fernandot
AyudaWP
Añadir objeto
@fernandot
AyudaWP
Añadir objeto
@fernandot
AyudaWP
Añadir objeto
@fernandot
AyudaWP
Añadir objeto
@fernandot
AyudaWP
Añadir objeto
@fernandot
AyudaWP
Extracto
Es tu “meta description” a falta de otra cosa.
La usa el tema en portada.
@fernandot
AyudaWP
Extracto
@fernandot
AyudaWP
Extracto
@fernandot
AyudaWP
Extracto
@fernandot
AyudaWP
El “slug”
Es la parte de la URL única de la publicación.
Mantenla lo más corta posible.
Una vez publicada no se debe cambiar.
Si cambias el slug tendrás que hacer una redirección 301.
@fernandot
AyudaWP
El “slug”
@fernandot
AyudaWP
Imagen destacada
Siempre define una imagen destacada.
La usan los temas en portada.
La usan las redes sociales al compartir.
@fernandot
AyudaWP
Imagen destacada
@fernandot
AyudaWP
Imagen destacada
@fernandot
AyudaWP
Gestión de comentarios
@fernandot
AyudaWP
Gestión de comentarios
@fernandot
AyudaWP
Gestión de comentarios
@fernandot
AyudaWP
Gutenberg
Desde WordPress 5.0
Sustituto/Alternativa al editor
Funciona mediante bloques
@fernandot
AyudaWP
Gutenberg
@fernandot
AyudaWP
Gutenberg
@fernandot
AyudaWP
Gutenberg
@fernandot
AyudaWP
Gutenberg
@fernandot
AyudaWP
Personalizar WordPress
Configurar temas
El Personalizador
Ajustes de lectura
Temas premium
@fernandot
AyudaWP
Shortcodes
Maquetación visual
Icono del sitio
Tipografías/colores
Configurar temas
Cada tema tiene su/s propia/s página/s de ajustes. No
hay 2 iguales.
Cada vez más usan el Personalizador.
@fernandot
AyudaWP
Configurar temas
@fernandot
AyudaWP
Configurar temas
@fernandot
AyudaWP
Configurar temas
@fernandot
AyudaWP
Configurar temas
@fernandot
AyudaWP
El Personalizador
@fernandot
AyudaWP
El Personalizador
@fernandot
AyudaWP
El Personalizador
@fernandot
AyudaWP
El Personalizador
@fernandot
AyudaWP
El Personalizador
@fernandot
AyudaWP
El Personalizador
@fernandot
AyudaWP
El Personalizador
@fernandot
AyudaWP
El Personalizador
@fernandot
AyudaWP
El Personalizador
@fernandot
AyudaWP
Ajustes de lectura
@fernandot
AyudaWP
Ajustes de lectura
@fernandot
AyudaWP
Temas Premium
Elige desarrolladores de confianza.
Exige soporte y actualizaciones.
Mejor con maquetador visual
@fernandot
AyudaWP
Temas Premium
@fernandot
AyudaWP
https://themeforest.net/category/wordpress
Temas Premium
@fernandot
AyudaWP
https://www.elegantthemes.com/gallery/
Shortcodes
Shortcodes = Atajos de programación
Se crean en functions.php del tema o plugin
Puedes insertarlos en entradas
Puedes insertarlos en el tema
@fernandot
AyudaWP
Shortcodes
@fernandot
AyudaWP
function shortcode_gracias() {
return '<p>¡Gracias por leer mi blog!, si te gustó comp
}
add_shortcode('gracias', 'shortcode_gracias');
Shortcodes
@fernandot
AyudaWP
Shortcodes
@fernandot
AyudaWP
Shortcodes
@fernandot
AyudaWP
Maquetación visual
Solo para portada, landing pages y conversion
bitches
No la uses en entradas
No la uses para todo
Convierten como nada
No requiere conocimientos de programación
@fernandot
AyudaWP
Maquetación visual
@fernandot
AyudaWP
WPBakery Page Builder
(formerly known Visual Composer)
Maquetación visual
@fernandot
AyudaWP
Elementor
Maquetación visual
@fernandot
AyudaWP
Divi
Maquetación visual
@fernandot
AyudaWP
Divi
Icono del sitio (favicon)
@fernandot
AyudaWP
Tipografías / Colores
Máximo 3 tipografías en todo el diseño
Elige tipografías populares
Elige tipografías fácilmente legibles (no serif)
Google Fonts como opción (las sencillas)
Min. 16px (1em) para móviles - 18px (1.2em) para escritorio
Max. ancho línea 65 caracteres
Interlineado entre 1.2 y 1.6
NUNCA justificar textos
@fernandot
AyudaWP
Tipografías / Colores
Contrastes naturales y bien visibles sobre fondos no
blancos
No usar negro en tipografías sino tonos de gris
Procurar no seguir modas pasajeras
@fernandot
AyudaWP
Temas WordPress
Anatomía de un tema
Temas hijo
Functions.php
Tags condicionales
El “LOOP”
Jerarquía de plantillas
Introducción a CSS
Internacionalizar
@fernandot
AyudaWP
Anatomía de un tema
index.php (loop)
style.css (estilos)
@fernandot
AyudaWP
header.php
footer.php
functions.php
sidebar.php
single.php
page.php
archive.php
La mayoría también incluye
Archivos imprescindibles
Anatomía de un tema
@fernandot
AyudaWP
Temas hijo
Nunca edites un archivo principal
Las actualizaciones sobreescriben los cambios
Los temas se pueden romper
Crea un tema hijo para incorporar modificaciones
@fernandot
AyudaWP
Temas hijo
Crea una carpeta para tu tema
hijo en /wp-content/themes
Crea un archivo style.css
Crea un archivo functions.php
Crea un archivo screenshot.png
@fernandot
AyudaWP
/*
Theme Name: Nombre de tu tema hijo
Description: Di que es un tema hijo de XXX.
Author: Tu nombre
Author URI: Tu URL
Template: nombre-carpeta-tema-padre
Version: 1.0
*/
/* A partir de aquí tus estilos personalizados */
add_action( 'wp_enqueue_scripts',
'awesome_enqueue_styles' );
function awesome_enqueue_styles() {
wp_enqueue_style( 'parent-style',
get_template_directory_uri() . '/style.css' );
}
/* A partir de aquí tus funciones personalizadas */
Temas hijo
@fernandot
AyudaWP
https://es.wordpress.org/plugins/one-click-child-theme/
Temas hijo
Activa el tema hijo
WordPress carga primero lo que haya en el tema hijo
Lo demás lo carga del tema padre
Para modificaciones copia los archivos del tema padre al hijo y
haz ahí los cambios
@fernandot
AyudaWP
functions.php
Archivo utilizado por los temas para añadir,
quitar o cambiar el comportamiento por
defecto de WordPress
@fernandot
AyudaWP
functions.php
No requiere cabecera
Para modificaciones
relativas al tema
Funciones de
compatibilidad
@fernandot
AyudaWP
/* Miniaturas de entrada */
add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 825, 510, true );
/* Formatos de entrada */
add_theme_support( 'post-formats', array(
'aside', 'image', 'video', 'quote', 'link',
'gallery', 'status', 'audio', 'chat'
) );
$color_scheme = nombredeltema_get_color_scheme();
$default_color = trim( $color_scheme[0], '#' );
/* Extractos personalizados */
function nombredeltema_custom_excerpt_length( $length ) {
return 40; //número de palabras del extracto
}
add_filter( 'excerpt_length',
'nombredeltema_custom_excerpt_length');
Tags condicionales
Permiten al desarrollador
definir variables para ejecutar
acciones, filtros, etc.
Van en los archivos del tema
@fernandot
AyudaWP
• is_home()
• is_single()
• is_page()
• is_category()
• is_author()
• is_date()
• is_year()
• is_month()
• is_day()
• is_time()
• is_archive()
• is_search()
• is_paged()
• is_404()
Tags condicionales
@fernandot
AyudaWP
<?php if ( is_home() ) { ?>
Este es un mensaje personalizado y solo aparece en la
página principal
<?php } ?>
<?php if (!(is_home() || is_category())) { ?>
Este es un mensaje personalizado que aparecerá en
todos los sitios menos en la página principal y en la de
categorías.
<?php } ?>
El “loop”
@fernandot
AyudaWP
<?php if ( have_posts() ) : while ( have_posts() ) :
the_post(); ?>
El loop básico
El “loop”
@fernandot
AyudaWP
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php the_title('<h2 class="entry-title"><a href="' . get_permalink() . '" title="' .
the_title_attribute('echo=0') . '" rel="bookmark">', '</a></h2>'); ?>
<p class="byline"><span class="author vcard"><?php the_author_posts_link(); ?></span> <span
class="separador">|</span><abbr class="published" title="<?php the_time(__('l, j F, Y, G:i',
'ejemplo')); ?>"><?php the_time(__('j F, Y', 'ejemplo')); ?></abbr></p>
<div class="entry-content"><?php the_content(__('Sigue leyendo', 'ejemplo')); ?><?php
wp_link_pages('before=<p class="pages">' . __('Páginas:','ejemplo') . '&after=</p>'); ?></div>
<div class="entry-summary"><?php the_excerpt(); ?></div>
<p class="entry-meta"><span class="categories"><?php _e('Publicado en', 'ejemplo'); ?> <?php
the_category(', '); ?></span>
<?php the_tags('<span class="tags"> <span class="sep">|</span> ' . __('Tags:',
'ejemplo') . ' ', ', ', '</span>'); ?>
<span class="separador">|</span> <?php comments_popup_link(__('Deja una respuesta',
'ejemplo'), __('1 respuesta', 'ejemplo'), __('% respuestas', 'ejemplo'), 'comments-link',
__('Comentarios cerrados', 'ejemplo')); ?></p></div>
<?php endwhile; ?><?php else : ?>
<p class="no-posts"><?php _e('Lo siento, no hay entradas que se ajusten a lo que busca',
'ejemplo'); ?></p><?php endif; ?>
Loop perfecto
Jerarquía de plantillas
@fernandot
AyudaWP
Define las dependencias entre archivos del tema
Establece las rutas para mostrar archivos y loop
@fernandot AyudaWP
Introducción a CSS
CSS es la abreviatura de Cascading Style Sheet (hoja de estilos
en cascada)
Determina el aspecto de la web
@fernandot
AyudaWP
Introducción a CSS
Color de texto
@fernandot
AyudaWP
Color de fondo
Negrita
Todo en mayúsculas
Margen
color: green;
background-color: black;
font-weight: bold;
text-transform: uppercase;
margin-top: 5px;
margin-right: 10px;
margin-bottom: 15px;
margin-left: 20px;
Introducción a CSS
@fernandot
AyudaWP
#content h1 {
font-style:italic;
font-weight:bold;
font-size:2em;
font-color:#ffffff;
font-family:'Helvetica','Verdana','Monaco',sans-
serif;
}
Introducción a CSS
@fernandot
AyudaWP
Introducción a CSS
@fernandot
AyudaWP
Internacionalizar
@fernandot
AyudaWP
/*
* Hace el tema preparado para traducciones.
* Las traducciones estarán en la carpeta /languages/.
*/
load_theme_textdomain( 'nombredeltema',
get_template_directory() . '/languages' );
En functions.php
Plugins WordPress
@fernandot
AyudaWP
Estructura de un plugin
Tu primer plugin
Buenas prácticas
Ganchos: acciones y filtros
Funciones
Internacionalizar
Plugins WordPress
Son aplicaciones
Amplían, modifican, quitan
funcionalidades por defecto de
WordPress
@fernandot
AyudaWP
Estructura de un plugin
@fernandot
AyudaWP
<?php
/*
Plugin Name: Nombre del plugin
Plugin URI: URL del plugin
Description: Describe lo que hace.
Version: 1.o
Author: Tu nombre
Author URI: Tu URL
License: GPLv2 o posterior
*/
/* A partir de aquí tus códigos */
Tu primer plugin
@fernandot
AyudaWP
<?php
/*
Plugin Name: Shortcode para animar a compartir mis entradas
Plugin URI: https://servicios.ayudawp.com
Description: Crea el shortcode [gracias] para animar a compartir
mis entradas.
Version: 1.o
Author: Fernando Tellado
Author URI: https://tellado.es
License: GPLv2 o posterior
*/
/* A partir de aquí tus códigos */
function shortcode_gracias() {
return '<p>¡Gracias por leer mi blog!, si te gustó compártelo
en tus redes</p>';
}
add_shortcode('gracias', 'shortcode_gracias');
Tu primer plugin
@fernandot
AyudaWP
<?php
/*
Plugin Name: Shortcode para animar a compartir mis entradas
Plugin URI: https://servicios.ayudawp.com
Description: Crea el shortcode [gracias] para animar a compartir
mis entradas.
Version: 1.o
Author: Fernando Tellado
Author URI: https://tellado.es
License: GPLv2 o posterior
*/
/* A partir de aquí tus códigos */
function shortcode_gracias() {
return '<p>¡Gracias por leer mi blog!, si te gustó compártelo
en tus redes</p>';
}
add_shortcode('gracias', 'shortcode_gracias');
Tu primer plugin
@fernandot
AyudaWP
Guarda como gracias.php
Comprime en zip
Instálalo
Tu primer plugin
@fernandot
AyudaWP
Buenas prácticas
Evita coincidencias de nombres
Usa prefijos en tus funciones
Seguridad: defined( 'ABSPATH' ) or die( 'No script kiddies please!' );
Usa cargas condicionales: if ( is_admin() ) {require_once( dirname(
__FILE__ ) . '/admin/plugin-name-admin.php' )
Comprueba todo: if ( !function_exists( 'wporg_init' ) )
@fernandot
AyudaWP
Ganchos: acciones y filtros
Gancho (hook) es un término genérico que se refiere a lugares donde puedes añadir tu
código o cambiar lo que hace WordPress por defecto. En WordPress hay dos tipos de
ganchos: acciones y filtros.
Una acción es un gancho lanzado en un momento concreto mientras se ejecuta WordPress
y permite llevar a cabo una acción. Pueden ser cosas como crear un widget cuando se
inicia WordPress o enviar un tuit cuando se publica una entrada.
Un filtro te permite obtener y modificar datos de WordPress antes de enviarlos a la base de
datos o el navegador. Ejemplos serían personalizar como se muestran los extractos o
códigos añadidos al final de una entrada.
@fernandot
AyudaWP
Ganchos: acciones y filtros
@fernandot
AyudaWP
add_action( $hook, $funcion_a_añadir, $priority, $accepted_args );
add_filter( $tag, $funcion_a_añadir, $priority, $accepted_args );
Gancho a una acción
Gancho a un filtro
Ganchos: acciones y filtros
@fernandot
AyudaWP
remove_action( $tag, $funcion_a_quitar, $priority );
remove_filter( $tag, $funcion_a_quitar, $priority );
Quitar una accción
Quitar un filtro
Ganchos: acciones y filtros
@fernandot
AyudaWP
Ejemplo de gancho
function shortcode_gracias() {
return '<p>¡Gracias por leer mi blog!, si te gustó
compártelo en tus redes</p>';
}
add_shortcode('gracias', 'shortcode_gracias');
Funciones
Se usan en temas y plugins
Pueden incluir tags de plantilla, tags
condicionales y ganchos (filtros y
acciones)
@fernandot
AyudaWP
Funciones
@fernandot
AyudaWP
Ejemplo function shorten_text( $iChars = 250, $szTail = "...", $bPrint =
true )
{
global $post;
$szText = strip_tags( trim( $post->post_content ) );
$szText = substr( $szText, 0, $iChars );
$szText = substr( $szText, 0, strrpos( $szText , ' ' ) ) . $szTail;
apply_filters('the_excerpt', $szText);
if ( $bPrint == true ) echo $szText; else return $szText;
}
// wordpress loop
while (have_posts()) : the_post();
<h1>the_title(); </h1>
<div class="entry">
// se cortará el texto al llegar a los 150 caracteres
if ( function_exists( 'shorten_text' ) ) shorten_text( 150 );
</div>
endwhile;
Internacionalizar
@fernandot
AyudaWP
<?php
/*
Plugin Name: Nombre del plugin
Plugin URI: URL del plugin
Description: Describe lo que hace.
Version: 1.o
Author: Tu nombre
Author URI: Tu URL
License: GPLv2 o posterior
Text Domain: nombre-carpeta-del-plugin //para internacionalizar
*/
function nombre_carpeta_del_plugin_init() {
load_plugin_textdomain( ‘nompre-carpeta-del-plugin', false,
dirname( plugin_basename( __FILE__ ) ) . '/languages' );
}
add_action( 'plugins_loaded', 'nombre_carpeta_del_plugin_init' );
/* A partir de aquí tus códigos */
Ampliando WordPress
Plugins esenciales
Custom Post Types
Backups
Seguridad
SEO “on page”
WPO
@fernandot
AyudaWP
.htaccess
wp-config.php
Multilenguaje
Formularios
Red social
Foros
L.M.S.
E-commerce
Plugins esenciales
Yoast SEO
WP Super Cache
Autoptimize
WPO Tweaks
AMP
WooCommerce
Disqus
@fernandot
AyudaWP
Google Analytics
Dashboard for WP
Jetpack
iThemes Security
WordPress Related Posts
BackWPup
Eu Cookie Law
Custom Post Types
Tipos de contenido estándar:
Entradas
Páginas
Tipos de contenido personalizados:
Productos
Portfolio
Etc…
@fernandot
AyudaWP
Custom Post Types
@fernandot
AyudaWP
//Añadiendo mi propio custom post type
function mi_custom_pelicula_item() {
$args = array();
register_post_type( ‘pelicula_item', $args );
}
add_action( 'init', 'mi_custom_pelicula_item' );
functions.php
Custom Post Types
@fernandot
AyudaWP
//Añadiendo mi propio custom post type
function mi_custom_pelicula_item() {
$labels = array(
'name' => _x( 'Película', 'post type general name' ),
'singular_name' => _x( 'Película', 'post type singular name' ),
'menu_name' => 'Película'
);
$args = array(
'labels' => $labels,
'description' => 'Descripción del custom post type',
'public' => true,
'menu_position' => 5,
'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt',
'comments' ),
'has_archive' => true,
);
register_post_type( 'pelicula_item', $args ); } add_action( 'init',
'mi_custom_pelicula_item' );
functions.php
Custom Post Types
@fernandot
AyudaWP
labels es un array que define las etiquetas que tendrá el custom post type
description es la explicación de para qué sirve o qué contiene
public controla cómo es visible a los autores y lectores.
menu_position es la posición en los menús de WordPress.
supports lista los controles por defecto de WordPress requeríos para configurar la pantalla del
editor de este contenido. Los ajustes por defecto son mostrar el título y el editor, y se pueden
añadir comentarios, revisiones, etc.
has_archive determina si quieres crear un archivo específico de estos contenidos
Backups
Haz copias a diario
Haz siempre copia antes de actualizar WordPress
Haz siempre copia antes de modificar temas
Haz siempre copias antes de modificar plugins
Guarda 30 días de copias
@fernandot
AyudaWP
Backups
Plugin BackWPup
Plugin Updraft Plus
Tu hosting
@fernandot
AyudaWP
Seguridad
Permisos archivos: 644
Permisos carpetas: 755
@fernandot
AyudaWP
Seguridad
Permisos por defecto: 644
Permisos recomendados: 600
@fernandot
AyudaWP
wp-config.php / .htaccess
Seguridad
@fernandot
AyudaWP
https://es.wordpress.org/plugins/better-wp-security/
Seguridad
Haz copias de seguridad a diario
Haz siempre copia antes de actualizar WordPress
Haz siempre copia antes de modificar temas
Haz siempre copias antes de modificar plugins
Guarda 30 días de copias
@fernandot
AyudaWP
SEO “on page”
@fernandot
AyudaWP
Análisis de contenido
Análisis de legibilidad
Sitemap XML
Robots.txt
Webmaster Tools
Redirecciones
Social metas
Títulos y metas
Vista previa de snippet
Herramientas avanzadas
SEO “on page”
@fernandot
AyudaWP
SEO “on page”
@fernandot
AyudaWP
SEO “on page”
@fernandot
AyudaWP
SEO “on page”
@fernandot
AyudaWP
SEO “on page”
@fernandot
AyudaWP
SEO “on page”
@fernandot
AyudaWP
SEO “on page”
@fernandot
AyudaWP
SEO “on page”
@fernandot
AyudaWP
Jetpack
WordPress Related Posts
SEO “on page”
@fernandot
AyudaWP
https://es.wordpress.org/plugins/redirection/
SEO “on page”
@fernandot
AyudaWP
https://es.wordpress.org/plugins/broken-link-checker/
WPO
@fernandot
AyudaWP
Cachea todo
Optimiza todo
Minimiza todo
WP Super Cache
GZIP / WPO Tweaks
Autoptimize
WPO
@fernandot
AyudaWP
WPO
@fernandot
AyudaWP
WPO
@fernandot
AyudaWP
#BEGIN GZIP
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain
text/xml text/css application/x-javascript application/javascript
</ifmodule>
#END GZIP
WPO
@fernandot
AyudaWP
https://es.wordpress.org/plugins/wpo-tweaks/
WPO
@fernandot
AyudaWP
https://es.wordpress.org/plugins/autoptimize/
WPO
@fernandot
AyudaWP
https://tinypng.com/
.htaccess
No es un archivo de WordPress sino del servidor
Apache
Reglas de escritura (rewrite)
Redirecciones
Caché
Seguridad
@fernandot
AyudaWP
wp-config.php
Archivo principal de configuración de WordPress
Incluye información sensible de acceso a la base de
datos
Definición de constantes de WordPress como caché,
uso de memoria, debug, etc.
@fernandot
AyudaWP
Multilenguaje
Única regla de Google: TRADUCE
TODO
@fernandot
AyudaWP
Multilenguaje
@fernandot
AyudaWP
https://wpml.org/es/
Multilenguaje
@fernandot
AyudaWP
https://es.wordpress.org/plugins/polylang/
Formularios
Jetpack
@fernandot
AyudaWP
Formularios
Contact Form 7
@fernandot
AyudaWP
Red social
@fernandot
AyudaWP
https://es.wordpress.org/plugins/buddypress/
Red social
@fernandot
AyudaWP
Foros
@fernandot
AyudaWP
https://es.wordpress.org/plugins/bbpress/
Foros
@fernandot
AyudaWP
L.M.S.
@fernandot
AyudaWP
https://premium.wpmudev.org/project/coursepress-pro/
L.M.S.
@fernandot
AyudaWP
https://premium.wpmudev.org/project/coursepress-pro/
L.M.S.
@fernandot
AyudaWP
https://es.wordpress.org/plugins/coursepress/
L.M.S.
@fernandot
AyudaWP
https://woocommerce.com/products/sensei/
L.M.S.
@fernandot
AyudaWP
https://woocommerce.com/products/sensei/
E-commerce
@fernandot
AyudaWP
https://es.wordpress.org/plugins/woocommerce/
E-commerce
@fernandot
AyudaWP
https://es.wordpress.org/plugins/woocommerce/
E-commerce
@fernandot
AyudaWP
Productos simples
Productos variables
Productos agrupados
Productos
externos/afiliados
Productos reservables
Suscripciones
Membresías
Cursos
Por defecto Extensiones
Fernando Tellado
@fernandot

Más contenido relacionado

PDF
Como enseñar WordPress fernando tellado
PPT
Taller de blogs #cmua - blog profesional
PPTX
Seo para Wordpress 2012
PPT
#EnconexoLab 'Seo para Blogs'
PDF
2. curso blogs
PPT
Usando la flexibilidad y el poder de wordpress
PPTX
Taller SEO para Prestashop Congreso Web 16
PPS
Blogs corporativos para pymes (base)
Como enseñar WordPress fernando tellado
Taller de blogs #cmua - blog profesional
Seo para Wordpress 2012
#EnconexoLab 'Seo para Blogs'
2. curso blogs
Usando la flexibilidad y el poder de wordpress
Taller SEO para Prestashop Congreso Web 16
Blogs corporativos para pymes (base)

Similar a WordPress training basics - básicos de cómo enseñar WordPress (20)

PDF
Los mejores trucos de SEO on page en WordPress
PDF
Presentación Webinar "Los mejores trucos SEO on page para WordPress"
PDF
WordPress en la Educación - WordCamp Bilbao - Fernando Tellado
PDF
WordPress Conoce de primera mano la plataforma más utilizada para realizar p...
PPT
Guia word press
PDF
Cómo hacer tu página con WordPress
PDF
Herramientas de lanzamiento. Nuestra web
PPTX
Wordpress seo ClinicSEO 2017
PDF
Gutenberg, ¿la revolución de WordPress?
PDF
Editores con súperpoderes - Introducción a paragraphs
PDF
Curso Blogger_herramientas de blogging
PPTX
Curso tu blog en wordpress
PDF
Taller wordpress spe 2012
PDF
Seo para prestashop V.2
PDF
Cómo obtener el máximo rendimiento online de tus notas de prensa
PDF
Manual de cómo subir y actualizar un plugin propio en WordPress.org
PDF
Introducción a WordPress en WordCamp Bilbao (luciamarin.es)
DOCX
Empecemos a publicar en nuestro blog
PPTX
Wordcamp España Online - Menos plugins y más optimización SEO
PPTX
Maquetación web con html5
Los mejores trucos de SEO on page en WordPress
Presentación Webinar "Los mejores trucos SEO on page para WordPress"
WordPress en la Educación - WordCamp Bilbao - Fernando Tellado
WordPress Conoce de primera mano la plataforma más utilizada para realizar p...
Guia word press
Cómo hacer tu página con WordPress
Herramientas de lanzamiento. Nuestra web
Wordpress seo ClinicSEO 2017
Gutenberg, ¿la revolución de WordPress?
Editores con súperpoderes - Introducción a paragraphs
Curso Blogger_herramientas de blogging
Curso tu blog en wordpress
Taller wordpress spe 2012
Seo para prestashop V.2
Cómo obtener el máximo rendimiento online de tus notas de prensa
Manual de cómo subir y actualizar un plugin propio en WordPress.org
Introducción a WordPress en WordCamp Bilbao (luciamarin.es)
Empecemos a publicar en nuestro blog
Wordcamp España Online - Menos plugins y más optimización SEO
Maquetación web con html5
Publicidad

Más de Fernando Tellado (20)

PDF
CATALOGO 2024 ABRATOOLS - ABRASIVOS Y MAQUINTARIA
PDF
OWASP y seguridad WordPress
PDF
Eres de Wix o WordPress
PDF
Fernando tellado- Cómo optimizar tu ecommerce para vender más
PDF
Copywriting Fernando Tellado
PDF
4 cosillas que se de WooCommerce
PDF
WordPress no es tan fácil fernando tellado
PDF
Retos WordPress 2017 - Fernando Tellado
PDF
Comparte ganancias con un programa de Marketing de afiliación
PDF
Branded content - Fernando Tellado
PDF
Como sacar rendimiento a tu hosting
PDF
Tiendas online con WordPress y WooCommerce
PDF
Mitos y realidades sobre WordPress
PDF
SEO en WordPress con Yoast
PDF
AMP y WordPress
PDF
Escalando WordPress
PDF
Optimización WordPress para bloggers
PDF
No soy bloguero pero tuiteo mucho - Fernando Tellado
PDF
Nueva politica - TEdX Gran Vía
PDF
Estado WordPress - Trabajando en la comunidad
CATALOGO 2024 ABRATOOLS - ABRASIVOS Y MAQUINTARIA
OWASP y seguridad WordPress
Eres de Wix o WordPress
Fernando tellado- Cómo optimizar tu ecommerce para vender más
Copywriting Fernando Tellado
4 cosillas que se de WooCommerce
WordPress no es tan fácil fernando tellado
Retos WordPress 2017 - Fernando Tellado
Comparte ganancias con un programa de Marketing de afiliación
Branded content - Fernando Tellado
Como sacar rendimiento a tu hosting
Tiendas online con WordPress y WooCommerce
Mitos y realidades sobre WordPress
SEO en WordPress con Yoast
AMP y WordPress
Escalando WordPress
Optimización WordPress para bloggers
No soy bloguero pero tuiteo mucho - Fernando Tellado
Nueva politica - TEdX Gran Vía
Estado WordPress - Trabajando en la comunidad
Publicidad

Último (15)

PPT
laser seguridad a la salud humana de piel y vision en laser clase 4
PDF
Herramientaa de google google keep, maps.pdf
PPTX
Presentación de un estudio de empresa pp
PPTX
FUNCIONES DE CLASSROOM EN EL FUNCIONAMIENTO ESCOLAR
PDF
[Ebook gratuito] Introducción a la IA Generativa, Instalación y Configuración...
PPTX
Evolución de la computadora ACTUALMENTE.pptx
PPTX
tema-2-interes-.pptx44444444444444444444
PDF
LA INTELIGENCIA ARTIFICAL SU HISTORIA Y EL FUTURO
PDF
Frases de Fidel Castro. Compilación Norelys Morales Aguilera
PDF
Mesopotamia y Egipto.pptx.pdf historia universal
PPTX
Qué es Google Classroom Insertar SlideShare U 6.pptx
PPTX
Guia de power bi de cero a avanzado detallado
PDF
CAPACITACIÓN MIPIG - MODELO INTEGRADO DE PLANEACIÓN Y GESTIÓN
PPTX
presentacion_energias_renovables_renovable_.pptx
PPTX
Plantilla-Hardware-Informático-oficce.pptx
laser seguridad a la salud humana de piel y vision en laser clase 4
Herramientaa de google google keep, maps.pdf
Presentación de un estudio de empresa pp
FUNCIONES DE CLASSROOM EN EL FUNCIONAMIENTO ESCOLAR
[Ebook gratuito] Introducción a la IA Generativa, Instalación y Configuración...
Evolución de la computadora ACTUALMENTE.pptx
tema-2-interes-.pptx44444444444444444444
LA INTELIGENCIA ARTIFICAL SU HISTORIA Y EL FUTURO
Frases de Fidel Castro. Compilación Norelys Morales Aguilera
Mesopotamia y Egipto.pptx.pdf historia universal
Qué es Google Classroom Insertar SlideShare U 6.pptx
Guia de power bi de cero a avanzado detallado
CAPACITACIÓN MIPIG - MODELO INTEGRADO DE PLANEACIÓN Y GESTIÓN
presentacion_energias_renovables_renovable_.pptx
Plantilla-Hardware-Informático-oficce.pptx

WordPress training basics - básicos de cómo enseñar WordPress