Inicio / Creando plugins para WordPress / Mostrar y Personalizar un Custom Post Type.
Mostrar Personalizar Custom Post Type
Escrito por | | en Creando plugins para WordPress, Tutoriales Wordpress

Mostrar y Personalizar un Custom Post Type.

Ya aprendimos como crear un CPT, ahora nos toca averiguar como mostrar y personalizar un custom post type , esto lo haremos personalizando la página donde decidamos mostrar el nuevo contenido.
Si el theme que estas utilizando esta preparado para Custom Post Type, entonces mostrarlos no sera un problema.

Recordemos que nuestro Custom Post Type nos permitia cargar los ultimos trabajos desarrollados y por ese motivo le habiamos dado el nombre de portafolio.

Ahora para mostrar nuestro nuevo contenido vamos a la Sección Apariencia y luego a la sub sección Menu. Ahora debes prestar especial atención:
Dentro de la sub sección menu buscamos el apartado «opciones de pantalla»  y desde alli activamos el checkbox que lleva el nombre de nuestro custom post type.
Con esto le hemos dicho a WordPress que nos muestre todos los elementos del CPT Portafolio para que podamos manipularlos en el menu.

Mostrar Personalizar Custom Post Type
En la sección menu podemos activar la vista de nuestros CPT

Observa la imagen, en este caso he creado una página con el nombre mostrar portafolio, la utilizaremos luego. Lo mas importante, son los elementos que he puesto debajo de esa página.

 

Mostrar Personalizar Custom Post Type
Agregar Custom Post Type al menu de WordPress

Con esto ya podemos mostrar los Custom Post Type de forma individual y sencilla. Los hemos agregado al menu de una forma facil.
En este punto es importante que sepas que si tu CPT no se muestra o si la forma en como se muestra no es de tu agrado deberias crear el archivo single-portafolio.php.

En esta imagen hemos activado el inspector de código  y te mostramos las clases css que genera WordPress, para que veas exactamente como se debe llamar el nuevo archivo que debes crear, esto en el supuesto que tu theme no muestre los custom post type de una forma adecuada.

Mostrar Personalizar Custom Post Type-Aprende WordPress
Inspeccioar el código

 

Otro archivo que podrias plantearte crear es archive-portafolio.php, este mostrara todos los custom post type que hallas creado, aunque en general los últimos themes de WordPress ya implementan esta funcionalidad. Para ver si tu theme la tiene incorporada usa la siguiente url: tusitio.com/portafolio. Si ves una página 404 es por que la funcionalidad no esta implementada. Recuerda que portafolio era el nombre con el que habiamos registrado nuestro Custom Post Type.

Mostrar Personalizar Custom Post Type

Si quisieras mostrar tu nuevo contenido en la barra lateral de tu sitio, puedes recurrir al plugin Ultimate Post Widget el que nos permitira luego de algunas configuraciones mostrar nuestros últimos CPT en el sidebar.

Mostrar Personalizar Custom Post Type
Mostrar los Custom Post Type en la Barra Lateral.
 

Mostrar los Custom Post Type en una página especial.

Si lo que deseas es tener un lugar en tu sitio para mostrar todos los custom post type, imaginemos que hemos cargado todos nuestros trabajos y que cada uno de ellos tiene una imagen y un poco de texto.
Lo mejor para esto es agregar un poco de código a nuestro plugin, aque plugin que utilizamos para generar nuestro Custom Post Type. Vamos a crear un codigo corto(shortcode) para que podamos mostrar los CPT en las páginas que queramos.

Abrimos el archivo de nuestro plugin con el editor de código que tengamos instalado y pegamos lo siguiente:

add_shortcode( 'portafolio', 'mostrar_cpt_portafolio' );
function mostrar_cpt_portafolio( $atts, $content )
{
extract(shortcode_atts(array(
), $atts));

	ob_start();


$argumentos = array( 'post_type' => 'portafolio', 'posts_per_page' => 6 );
$consulta = new WP_Query( $argumentos  );
?>

<?php if ( $consulta->have_posts() ) { ?>
<?php while ( $consulta->have_posts() )
 {
	     $consulta->the_post();

			 ?>
			 
<div style="display:inline-block;float:none;">

    <h2><?php the_title(); ?></h2>


          <div class="imagen_portafolio">
               <?php if ( has_post_thumbnail() ) { the_post_thumbnail('medium'); } ?>
          </div>

</div>

<?php } wp_reset_postdata(); } else { ?>
	

<?php _e( 'Lo sentimos, no hay nada para mostrar' ); ?>

<?php } ?>

<?php
return ob_get_clean();
}  // en shortcode

Le damos a guardar y la nueva funcionalidad ya se deberia haber incorporado a nuestro theme.
Ahora vamos a paginas y creamos una nueva. Yo la he llamado Mostrar Portafolio. Dentro de esta pagina pegamos el siguiente código corto (shortcode.) : [portafolio].

Mostrar Custom Post Type

Luego de agregar esta página al menu, ya tendremos un lugar donde mostrar todos nuestros custom post type.

Más adelante explicaremos en detalle cada linea de este código, lo que haremos ahora para finalizar, es mostrarte como encontrar posibles errores en tu código, para evitar que tengas inconvenientes.

Depurando nuestro código.

Con tu editor de condigo abres el archivo wp-condig.php, este archivo esta en la raiz de tu instalación wordpress.
Busca la linea:

<pre>define('WP_DEBUG', false)</pre>

Luego modifica y agrega el siguiente código.

<pre>define('WP_DEBUG', true);
define( 'WP_DEBUG_DISPLAY', true );
define( 'WP_DEBUG_LOG', true );</pre>

Con esto le decimos a WordPress que nos muestre los errores de código que podamos tener, que nos diga en que archivos y en que linea se producen nuestros errores.
Eso nos ayudara a solucionar cualquier problemita que se nos presente con respecto a nuestro desarrollo. Si entras en la carpeta wp-content de nuestra instalación econtraras un archivo .txt  con el nombre ‘debug’, alli se guardaran todos los errores, para que tengamos un registro.
Saludos nos vemos en nuestro próximo árticulo.

One thought on “Mostrar y Personalizar un Custom Post Type.

  • Hola, como puedo hacer para que se muestre solo 10 post type en una pagina y los otros en otros y asi con todos.

    Responder
  • Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *