Contenido

Vamos a crear un post (I)

21 feb

+ 14

Hace unos días miramos de entender como funcionaba el famoso Loop de WordPress, y vimos que era una maravilla en la que una gran complejidad y potencia se reducía a 4 lineas de código, ahora vamos a crear un post con los tags más comunes, luego cada uno solo tendrá que buscarse la vida y darle formato con su visión.

Requisitos: 

  1. Conocimientos de PHP (muy básicos)
  2. Conocimientos de CSS (depende de los justos)
  3. Conocimientos de HTML (necesarios para respirar)
  4. Un wordpress
  5. Un editor de texto (recomiendo UltraEdit)

Estructura:

 Hay que conocer de donde y donde va a ir alojado este código, los posts que vemos en nuestro blog suelen estar en el fichero index.php, donde mostramos los datos de los X posts en nuestra portada y a su vez tambien lo tenemos en el fichero single.php donde mostramos un solo post con los comentarios.

En el index.php normalmente tendrémos los datos imprescindibles que un usuario debe conocer sobre el post, como el autor, la categoría que lo engloba, la fecha y cosas como el título y el texto (por supuesto). Normalmente tendríamos que tener en cuenta el tamaño de nuestros posts para usar los resumenes y tener el post entero en el fichero single.php, de esta forma además de conseguir mayor número de recargas de páginas, “fidelizas” a los usuarios, ya que entran los que realmente quieren leer el post entero, o por lo menos, los que han quedado enganchados por el resumen.

index.php

<div class="post" id="post-<?php the_ID(); ?>">
                <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link de <?php the_title(); ?>"><?php the_title(); ?></a></h2>
                <small><?php the_time('F jS, Y') ?>  por <?php the_author() ?></small>
                <div class="entry">
                    <?php the_content('Leer más...'); ?>
                </div>
                <p class="postmetadata">Posteado en <?php the_category(', ') ?> | <?php edit_post_link('Editar', '', ' | '); ?>  <?php comments_popup_link('No Commentarios &#187;', '1 Commentario &#187;', '% Commentarios &#187;'); ?></p>
            </div> 

Vamos a comentar un poso este código, para empezar creamos un div que forma parte de la clase post, donde tendrémos definidos los estilos para las entradas de nuestro post, de esta forma todas nuestras entradas tendrás el mismo aspecto (siempre que todas pertenezcan a la misma clase). Hay que destacar que como los elementos del lenguaje XHTML no tienen permitido tener id duplicados, mediante PHP concatenamos el nombre post- al de <?php the_ID(); ?> de la noticia (generalmente es númerico).

Una vez ya dentro del div que nos englobará todos los datos de nuestra noticia, destacamos el título, en mi caso he dejado el H2 que trae por defecto, creo que es una medida justa con el resto de la página. Para obtener la URL de nuestro permalink usamos <?php the_permalink() ?>, que no devuelve la url de nuestro post, mediante la cual nos podremos dirigir a él directamente. Luego para darle un texto al enlace que estamos creando usamos la función <?php the_title(); ?>, que nos devuelve el título de nuestra entrada.

Comenzamos con algunos de los atributos de nuestra entrada, el primero por orden de aparición es la fecha, que la conseguimos con la siguiente función <?php the_time(‘F jS, Y’) ?> desde la página de PHP podemos conocer un poco más el formato de fecha que usa. Conocer el nombre del autor es realmente sencillo, con la función <?php the_author() ?> obtenemos el nombre de nuestro autor.

Ahora mostraremos el texto de nuestra entrada, aqui es donde describiremos que texto queremos mostrar cuando usemos <!–more–> para paginar nuestras entradas, <?php the_content(‘Leer más…’); ?> es la instrucción correcta. También podemos mostrar el resumen de nuestra entrada de la siguiente forma: <?php the_excerpt(); ?>.

 Los demás datos son realmente sencillos ya que usan nombres bastante explicitos, <?php the_category(‘, ‘) ?> nos devuelve la lista de características en las que está incluida la entrada, separadas por (,), <?php edit_post_link(‘Editar’, ”, ‘ | ‘); ?> nos da la posibilidad de editar nuestra entrada en caso de tener permisos para hacerla, sino tenemos permisos no veremos el texto de esta función. <?php comments_popup_link(‘No Commentarios &#187;’, ‘1 Commentario &#187;’, ‘% Commentarios &#187;’); ?> esta función nos devuelve un texto con un enlace a nuestro permalink mostrandonos la cantidad de comentarios que tenemos en esa entrada.

Estos son los datos más importantes que suelen aparece en los posts, aunque luego está en la mano del webmaster añadir todas las opciones que crea convenientes, para el fichero single.php nos irá de perlas mostrar mayor cantidad de información sobre nuestra entrada.

WordPress, themes, programación, tutorial

  • Hola, uso el tema por default de WordPress, Kubrick, solo le modifique las imagenes. Ando buscando como hacer para que en cada post aparezca el nombre del autor. Revisando en el archivo index.php veo que lo tengo igual que el tuyo, o sea, la sección para que aparezca el nombre del autor esta ahi pero no aparece en el blog. ¿Hay que hacer algo mas para que aparezca el nombre del autor junto al post o me estoy perdiendo de algo?

    Gracias de antemano y por cierto, muy buen blog el que tienes aqui, cargado de información valiosa.

  • Buenas Fito, para conseguir lo que quieras solo tendrías que introducir esto donde quieras que aparezca.

    <?php the_author() ?>

    Espero que te sirva ;)

  • Muchisimas gracias, despues de tu respuesta y de ver un poco el codigo (no soy programador pero me doy cuenta cuando algo no esta bien escrito :) ) note que en esta parte

    por

    habia algo mas o menos asi:

    — >

    Supongo que estaba comentado eso y no hacia que se mostrara en los post.

    Gracias de nuevo.

  • Buenas. Como ves por la fecha en la que mando este comentario soy nuevo en esto del WordPress.
    Lo primero darte las gracias especialmente por tu artículo de los miniposts ya que gracias a él conseguí hacer una llamada a una sóla de las categorías, cosa que no conseguía.
    La otra cosa que llevo intentando mucho tiempo es cómo hacer un loop desde un archivo cualquiera de mi web. Lo que quiero es llamar en el index a una sóla de las categorías y desde otros archivos a los que llamaría reportajes, últimas noticias… hacer llamadas a otras categorías.
    Lo intenté con un include al archivo de las funciones pero no me sale. Si me puedes dar una pistilla te lo agradecería muchísimo.

  • Buff, que tonto soy. Problema resuelto. Gracias de todas formas!!!

  • :D todo muy bueno en esta web los felicito

  • Como siempre grandisismos tus posts.
    Aunque tengo una duda que quizás tu me puedas resolver.

    Esta claro lo de la funcion author,pero que pasa si en mi blog quiero que cuando clicken en el nombre,salga la tipica pagina …/author/fulanito.

    ¿Donde lo defino?
    A ver si tengo suerte,gracias por todo ;)

  • Vaya a eso justo me fuí googleando un poco,muchisimas gracias.
    Un saludo

  • me gustaria que alguien me pueda ayudar:

    como hago para interseptar y manipular informacion de un formulario si alguien me puede decir se lo agradezco
    victorhugofr@gmail.com

  • #11 ¿Que necesitas exactamente?

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.