A lo largo de esta serie de seis partes para principiantes a maestros, usaremos las funciones avanzadas de WordPress para crear nuestro propio portafolio y blog, completo con una página de opciones, múltiples estilos y soporte para las nuevas funciones de WordPress 2.7. Hoy estamos creando el diseño de nuestra página de inicio..
En esta parte, crearemos la portada de nuestro portafolio, utilizaremos nuestra página de opciones y manejaremos campos personalizados en las publicaciones. Antes de comenzar, cree los siguientes archivos y carpetas dentro de / wp-content / themes /innovación/
carpeta que creaste anteriormente:
/Cía/
/cache/
header.php
footer.php
barra lateral.php
También guarde este script TimThumb PHP Image Resizer como pulgar.php
dentro de /Cía/
carpeta. TimThumb es un script de cambio de tamaño de imagen PHP "inteligente" por Darren Hoyt.
A continuación se muestra una descripción general de cómo se verá nuestra página principal:
Nuestro header.php
archivo contendrá el #cabeza
y #nav
secciones - incluyendo las etiquetas de apertura para #envolver
, #contenido
y .contentwrap
.
footer.php
entonces contendrá el #pie de página
sección, y las etiquetas de cierre para #contenido
y la última sección sobre ella (esto podría ser .contentwrap
, .extraswrap
o #sidebar
dependiendo de la página).
los .contentwrap
área tendrá los dos últimos mensajes de nuestra categoría de cartera, y .extraswrap
Será un área lista para widgets en la que podemos colocar widgets desde el Tablero..
En la parte superior de la header.php
archivo, incluye el siguiente código.
>
Como puede ver, este es principalmente el código que incluiría en la parte superior de cualquier documento xHTML Strict, solo hemos reemplazado algunas secciones con una función de WordPress que generará el código apropiado según el idioma en que se ejecute WordPress
Al final del código está nuestra etiqueta de título que, nuevamente, está usando las funciones de WordPress para obtener el nombre de la página actual y el nombre del sitio.
A continuación, incluimos nuestros style.css
archivo usando el WordPress bloginfo ();
función. Es importante usar esta función para incluir la hoja de estilo principal, en lugar de ingresar directamente la ruta del archivo.
Luego está el código para capturar la hoja de estilo de esquema de color correcta seleccionada de las Opciones que creamos en la parte anterior:
La siguiente tabla explica lo que hace el código anterior:
Verificamos si nuestra opción de combinación de colores ($ ts_colourscheme
) existe desde la página de opciones, y que se configuró correctamente (es decir, no se dejó como "Elija un esquema de color:"). Si la opción no está configurada correctamente o no existe, se utilizará por defecto el deepblue.css
esquema de color; de lo contrario, utilizamos la hoja de estilo que se seleccionó en la página de opciones.
Continuando, incluimos nuestras fuentes RSS y Atom, y abrimos la etiqueta del cuerpo:
El siguiente código es mucho más directo que la sección anterior. Como se muestra en la imagen anterior, utilizaremos más funciones de WordPress para recuperar información de la base de datos de WordPress:
los
bloginfo ('nombre');
ybloginfo ('descripción');
Las funciones recuperan la configuración relevante de la página 'Configuración general' en el panel de WordPress:
#nav
Recuperar una lista de páginas de la base de datos también es muy fácil. Usamos el
wp_list_pages ();
función. Tenga en cuenta que también incluimos unatitle_li =
argumentacion Esto es para evitar que la función cree un elemento de lista adicional llamado 'Navegación:' antes de enumerar las páginas.
También hemos abierto los divs y envoltorios relevantes para la siguiente sección.
Estilo de la cabecera
Si vas a instalar WordPress ahora, se verá algo como esto:
Recuerda que incluiremos cualquier estilo de color en el interior.
deepblue.css
para que podamos crear fácilmente diferentes combinaciones de colores más tarde. Todo lo demás entrarástyle.css
.Estilos generales
Lo primero que siempre incluyo en mi hoja de estilo es un restablecimiento del navegador, seguido de algunos estilos básicos para párrafos, listas, encabezados y enlaces..
* padding: 0; margin: 0; body font-family: Arial, Helvetica, sans-serif; p font-size: 0.9em; altura de la línea: 1.5em; margen inferior: 10px; ul, ol margen: 0 0 10px 10px; li font-size: 0.9em; altura de la línea: 1.5em; list-style-position: interior; margen inferior: 3px; img border: none; h1, h2, h3, h4, h5, h6 font-weight: normal; h3, h4 margen: 15px 0 2px 0; h4, h5, h6 font-weight: negrita; a: enlace, a: visitó text-decoration: none; a: hover, a: active, a: focus text-decoration: underline; esquema: ninguno;Esto debería ser muy sencillo para cualquier persona con conocimientos básicos de HTML y CSS. Hemos establecido los márgenes y el relleno para todos los elementos (*) en 0 para anular los estilos predeterminados que cada navegador aplica a una página. Luego incluimos nuevos márgenes, tamaños de fuente y alturas de línea para los elementos principales para aumentar la legibilidad entre ellos..
Estilo de encabezado
A continuación, creamos un poco de un diseño:
#wrap margen: 0 auto; ancho: 980px; #head margen: 25px 0; desbordamiento: oculto; #head h1 float: left; margen izquierdo: 20px; #head h3 font-family: Georgia, "Times New Roman", Times, serif; tamaño de letra: 0.8em; estilo de letra: cursiva; flotar derecho; altura de la línea: 1.7em; text-align: right; margen: 0 20px 0 0; ancho: 500px;los
#envolver
El elemento es el contenedor que contiene todo. Estamos utilizando un ancho de 980px (esto es lo más alto que podemos ir y al mismo tiempo tenemos capacidad para resoluciones de 1024x768). Y hemos utilizadomargen: 0 auto;
para centrarlo en el navegador.El título y las frases (
h1
yh3
respectivamente) se flotan a ambos lados del contenedor.
#cabeza
tiene una propiedad dedesbordamiento: oculto;
para que sostenga correctamente los elementos flotados. Normalmente, un div no envolverá a ningún niño flotante (como lo hemos hecho aquí). Vea la imagen a continuación como un ejemplo (el amarillo representa el margen asignado a#cabeza
):
Estilo de navegación
#nav border-top-left-radius: 15px; borde superior-derecho-radio: 15px; -moz-border-radius-topleft: 15px; -moz-border-radius-topright: 15px; -webkit-border-top-left-radius: 15px; -webkit-border-top-right-radius: 15px; borde inferior: ninguno; Limpia los dos; relleno: 0 20px; ancho: 939px;Eche un vistazo a las imágenes de vista previa en la parte superior del tutorial, y notará que estamos utilizando esquinas redondeadas en la parte superior de la sección de navegación. En lugar de lograr este efecto a través de un montón de imágenes y etiquetas HTML adicionales, vamos a utilizar el nuevo CSS3
radio del borde
propiedad para dar un radio de 15px a ambas esquinas superiores.Sin embargo, los navegadores actuales todavía no son compatibles con esta propiedad, pero los navegadores basados en Mozilla y Webkit tienen sus propios
-moz-border-radius
y-webkit-border-radius
propiedades que también podemos usar para hacer que las esquinas redondeadas funcionen en Firefox 3, Safari y Chrome. Internet Explorer y Opera simplemente usarán un borde cuadrado hasta que admitanradio del borde
.Nota: el uso de estas propiedades específicas del proveedor en su CSS detendrá la validación de su hoja de estilo. Pero como solo serán estos los que detendrán la validación, a quién le importa?
Continuando, diseñamos los elementos de la lista en la navegación para mostrar en línea (horizontalmente):
#nav ul margen: 0; #nav ul li display: inline; tamaño de letra: 1em; línea de altura: 1.3em; margen derecho: 25px; #nav ul li a: link, #nav ul li a: visitó display: -moz-inline-stack; pantalla: bloque en línea; font-weight: negrita; texto-decoración: ninguno; relleno: 20px 10px; #nav ul li a: flotar, #nav ul li a: activo, #nav ul li a: foco esquema: ninguno;Tenga en cuenta que estamos usando
pantalla: -moz-inline-stack;
en los enlaces. Esto es solo para Firefox 2 y versiones anteriores, que (por alguna razón) no son compatiblespantalla: bloque en línea;
- incluso IE6 lo soporta!
Estamos dando mucho relleno a los enlaces para aumentar el área en la que se puede hacer clic (en lugar de rellenar elli
en lugar).Ahora eche un vistazo a la página en su navegador y debería verse así. Mejor, pero ahora necesita algo de color.!
Algun color
En primer lugar, guarde la siguiente imagen en el
/ styles / deepblue /
carpeta comobg.jpg
.
Y esta imagen en la misma carpeta que
trans.png
(en realidad es una imagen semitransparente oscura de 1px).
Ahora abierto
/styles/deepblue.css
, y escriba:/ * Estilo predeterminado de la innovación - deepblue.css * / body background: url ("deepblue / bg.jpg") no se repite # 101010 superior centro fijo; color: # 333; a: enlace, a: visitó color: # 5c6e80; #head h1 color: #eee; #head h3 color: #ddd; #nav background: url ("deepblue / trans.png") se repite; borde: 1px sólido # 111; #nav ul li a: link, #nav ul li a: visitó color: #ddd; #nav ul li.current_page_item a: link, #nav ul li.current_page_item a: visited background: url ("deepblue / trans.png") se repite; color: #eee; #nav ul li a: flotar, #nav ul li a: activo, #nav ul li a: focus color: #eee;Hemos establecido la imagen de fondo grande en el cuerpo (y la hemos arreglado para que no se mueva cuando se desplaza), la imagen transparente se utiliza como fondo para la navegación y también configuramos algunos colores de fuente.
Vista previa, y ahora tendrás algo como:
Publicaciones de la cartera
Antes de crear la parte superior de nuestra página de inicio donde se encuentran nuestros dos últimos artículos de la Cartera, necesitaremos algunas publicaciones para probar. El tema utilizará algunos 'Campos personalizados' para mostrar información adicional para los elementos de la cartera:
fecha
(la fecha en que se completó el trabajo)cliente
(para quién era el trabajo)enlazar
(a una versión en vivo de tu trabajo)avance
(URL de una imagen de ancho de 930px de su trabajo)vista previa completa
(versión más grande del trabajo, se mostrará en una caja de luz)
Cree una nueva publicación de blog, con el Título siendo el nombre del proyecto (como en la imagen de arriba), e ingrese algo de contenido sobre el trabajo. Ponga la publicación en su categoría 'Portafolio'.
Antes de guardar la publicación, desplácese hasta la sección 'Campos personalizados':
Aquí, ingrese cada uno de los campos personalizados provistos anteriormente. Solo el
avance
Se requiere campo. Puedes usar las siguientes imágenes para tuavance
campo si aún no tiene uno propio (haga clic con el botón derecho y guardar):
Una vez que haya completado los campos, puede publicar la publicación. Repita este proceso hasta que tenga al menos dos publicaciones (preferiblemente más).
La página de inicio
Ahora que tenemos todos los requisitos previos, finalmente podemos codificar la parte principal de la página de inicio. En
page-home.php
, escriba lo siguiente:Últimos proyectos
query_posts ();
Es una función de WordPress para obtener publicaciones específicas de la base de datos. Como puede ver en los argumentos de la función (las partes entre paréntesis), le estamos diciendo a WordPress que solo obtenga 2 publicaciones de la categoría Portafolio ($ ts_portfolio_cat
está obteniendo la información de la página de opciones que creamos).Con
mientras();
, Hemos empezado el 'WordPress Loop'. Aquí podemos decirle a WordPress qué parte de cada publicación necesitamos.$ contador ++; $ preview = get_post_meta ($ post-> ID, 'preview', verdadero); $ date = get_post_meta ($ post-> ID, 'date', true); ?>En la primera línea, hemos agregado uno al contador (lo usaremos en breve).
$ contador ++;
es mano corta para escribir$ contador = $ contador + 1;
Entonces usamos el
get_post_meta ();
funciones para obtener nuestros campos personalizados 'vista previa' y 'fecha' de la publicación, que se colocan en el$ vista previa
y$ fecha
variables respectivamente."> Arriba hemos creado un div con una
trabajo
clase para el elemento de la cartera que se mantendrá en. Pero tenga en cuenta que también estamos comprobando que si nuestra$ contador
es igual a 2 (lo que significa que este es el segundo elemento de la cartera), agregamos otra clase al div nombradoúltimo
. Esta clase será útil cuando estilicemos esta sección..A continuación, mostramos la imagen de vista previa:
Si existe una imagen de vista previa, entonces ...
">los
the_permalink ();
La función se utiliza para enviar el enlace a la publicación actual..Luego, sacamos la imagen de vista previa. Pero También lo estamos ejecutando a través del redimensionador TimThumb para cambiar el tamaño de la imagen a 450 píxeles de ancho y 210 píxeles de altura (de la imagen de 930 píxeles que realmente es). Note como usamos
bloginfo ('template_directory');
para asegurarnos de que WordPress esté revisando en nuestra carpeta de temas (es un equivalente de laTEMPLATEPATH
Usamos en la parte anterior de la serie..Ahora solo tenemos que mostrar la línea de texto que va debajo de la imagen (el título y la fecha):
"> ($ fecha)";?>
Esto es relativamente sencillo. Usamos
the_permalink ();
de nuevo para obtener el enlace para la publicación actual.el título();
Se usa para obtener el título de la publicación actual..Luego verificamos si se ingresó un campo personalizado de 'fecha' (en la
$ fecha
variable) para este post. Si es así, lo sacamos.Finalmente, cerramos la corriente.
trabajo
div, cierra el bucle de WordPress conal final
y cierra elcontentwrap
div que se creó en el encabezado.Terapia de belleza
Eche un vistazo a la página de inicio en su navegador para ver esta maravillosa obra maestra:
Ok, tal vez no; Pero nada que un poco de CSS no pueda arreglar. Agregue lo siguiente en
style.css
:#content -moz-border-radius-bottomleft: 5px; -moz-border-radius-bottomright: 5px; -webkit-border-bottom-left-radius: 5px; -webkit-border-bottom-right-radius: 5px; borde inferior-izquierdo-radio: 5px; borde inferior-derecho-radio: 5px; flotador izquierdo; relleno: 19px 19px 30px 0; margen inferior: 5px; desbordamiento: oculto; ancho: 960px; .contentwrap padding-left: 19px; desbordamiento: oculto; #content h2 font-weight: bold; espacio entre letras: -1px; margen inferior: 10px;
#contenido
Es el envoltorio para contener todo el contenido principal. Hemos agregado bordes redondeados en la parte inferior, usando el mismo método que usamos en la navegación.Dentro
deepblue.css
agregue lo siguiente para agregar un color de fondo claro a#contenido
, así como definir el color del borde:#content background-color: # f9f9f3; borde: 1px sólido # 111; borde superior: ninguno;
Obviamente, los elementos deben mostrarse en línea (lado a lado). Haremos esto simplemente estableciendo
flotador izquierdo;
a ambos junto con unos márgenes dentrostyle.css
:
.trabajo flotador: izquierda; margen: 0 20px 40px 0; ancho: 460px; .trabajo a esquema: ninguno; .work p font-size: 0.9em; font-weight: negrita; margen: 8px 0 10px 0; .worksingle p font-weight: normal; .work span font-size: 0.8em; fuente-peso: normal;Obtenga una vista previa y se dará cuenta de que los elementos aún se muestran uno debajo del otro. Un chequeo rápido con Firebug revela que es hasta el segundo elemento que no tiene suficiente espacio para el margen derecho.
Aquí es donde se agrega ese contador.class = "last"
Al segundo elemento entra:.último margen derecho: 0! importante;
Todavía no hemos terminado. Observe más de cerca nuestra imagen del producto final, y notará que también debemos establecer un borde alrededor de la imagen de la cartera, que cambia de color al pasar el cursor..
Agrega los siguientes estilos de color adeepblue.css
:.trabaje a: enlace img, .work a: visitó img borde: 5px sólido # e3e8ed; .work a: hover img, .work a: active img, .work a: focus img border: 5px solid # 5c6e80; .work a: link, .work a: visitó color: # 333;
Area Widgetizada
los
.extraswrap
el área de la página de inicio está lista para los widgets (3 widgets max), lo que significa que podemos agregarlos y administrarlos directamente desde el Panel de WordPress, tal como lo haría para una barra lateral lista para la reproducción:
En primer lugar, tenemos que decirle a WordPress que cree una nueva área de widgets usando el
register_sidebar ()
función. El siguiente código va al final de sufunciones.php
expediente:if (function_exists ('register_sidebar')) register_sidebar (array ('name' => 'Homepage Bottom', 'before_widget' => '',' after_widget '=>'',' before_title '=>'',' after_title '=>'
',));Dentro
register_sidebar ()
Pasamos una matriz que contiene información para nuestra área de widgets. losnombre
se utiliza para identificarlo cuando tenemos varias áreas de widgets (o barras laterales).antes_widget
yafter_widget
es el código utilizado para envolver cada widget individual. Por defecto, esto sería un elemento de la lista; estamos usando un div en su lugar.titulo anterior
yafter_title
es lo que se usa para envolver el título del widget individual.Ahora, para incluir este widget en nuestra página de inicio, agregue lo siguiente al final de
page-home.php
:Primero abrimos nuestro div envoltorio, y luego usamos el
dynamic_sidebar ();
Función: a través de la cual pasamos el nombre del área de widgets que usamos anteriormente, al registrar el área. Finalmente, incluimos nuestrosfooter.php
archivo usando elget_footer ()
Función (de la misma manera incluimos el encabezado).Continúe y agregue tres widgets de prueba al área a través de Apariencia -> Widgets -> 'Página inferior'.
Y previsualizarlo:
Para mostrarlos todos en línea, use el siguiente código en
style.css
:.extraswrap margin-top: 10px; desbordamiento: oculto; .extras float: left; margen: 0 0 0 20px; ancho: 300px;
También vamos a diseñar un plugin de Flickr y Twitter. En primer lugar, instale los complementos de FlickrRSS y Twitter para WordPress.
Desde Configuración -> FlickrRSS, ingrese su número de ID de Flickr usando las instrucciones proporcionadas (o use la mía):
31912870 @ N03
), configúralo para usar 9 imágenes cuadradas; y para la sección del contenedor HTML, use:
Antes de la imagen:
Después de la imagen:
Esto nos permitirá diseñar y posicionar las imágenes fácilmente..Continúe e intercambie dos widgets en el área de la página de inicio por los de Flickr y Twitter (recuerde ingresar sus detalles de Twitter en la sección "Editar" en el widget).
Introduzca el siguiente estilo en
style.css
:/ * estilo FlickrRSS widget * / .flickr display: inline; .flickr a: enlace img, .flickr a: visitado img margen: 0 10px 10px 9px; / * widget de estilo de Twitter * / ul.twitter margen: 0; ul.twitter li.twitter-item -moz-border-radius: 10px; -webkit-border-radius: 10px; radio del borde: 10px; estilo de lista: ninguno; margen inferior: 20px; relleno: 8px 10px; ul.twitter li.twitter-item span abbr border-bottom: none; bloqueo de pantalla; tamaño de letra: 0.8em; estilo de letra: cursiva; margen superior: 3px;El estilo de Flickr muestra cada imagen en línea y establece los márgenes apropiados para que se ajusten a tres imágenes por fila. En los estilos de Twitter, hemos agregado algunos márgenes y relleno para separar cada tweet, y también hemos usado
radio del borde
otra vez.También agregue lo siguiente a
deepblue.css
:.flickr a: enlace img, .flickr a: visitó img border: 3px solid # e3e8ed; .flickr a: hover img, .flickr a: active img, .flick a: focus img border: 3px solid # 5c6e80; ul.twitter li.twitter-item background-color: # f6f5ed; borde: 1px sólido # eae9de;Cada imagen de Flickr ahora tiene un borde sobre el que podemos desplazarnos, similar a lo que usamos para las imágenes de cartera..
Pie de página
Dentro
footer.php
Inserte el siguiente código. Cerramos las etiquetas apropiadas e incluimos un aviso de copyright. Siéntase libre de eliminar de mí la mención de mí y NETTUTS, aunque sería de agradecer si nos devolviera un enlace de alguna manera. También incluimos el código de Google Analytics de la página de opciones.Copyright © . Diseño de Dan Harper para NETTUTS. Desarrollado por WordPress.
Agregue lo siguiente a style.css
:
p.footer claro: ambos; tamaño de letra: 0.7em; estilo de letra: cursiva; relleno: 5px 20px;
Y para deepblue.css
:
p.footer color: #ccc; p.footer a: link, p.footer a: visited color: #ccc; borde inferior: 1px punteado; p.footer a: hover border-bottom: 1px solid; texto-decoración: ninguno;
Con esto concluye el Día 2 de WordPress Week, ¡y hemos terminado bastante! Mañana, pasaremos al diseño de la página 'Blog' y aprenderemos a diseñar 'publicaciones individuales' de manera diferente según la categoría en la que se encuentren..
Parte 3 - Diseñar el blog