Crear un Portfolio con WordPress

En el artículo sobre por qué crear tu sitio web con WordPress vimos todas las posibilidades y ventajas que ofrece este fantástico CMS.

Si eres un profesional del sector de la fotografía, de la música, un diseñador web o un creador de Internet, necesitas una web para mostrar tus trabajos. Con WordPress es muy sencillo, tanto la creación como su gestión.

Crear una página con un Portfolio es una manera más que recomendable de conseguir clientes, ya que puedes mostrar tus mejores trabajos de una forma atractiva y muy visual, incluyendo un modo de contacto, para que puedan consultarte sus dudas o solicitarte presupuestos de colaboración.

WordPress viene con dos Custom Post Type en la instalación inicial: entradas (artículos del blog) y páginas (secciones como contacto, servicios, etc.)

Estos “tipos de contenido” se pueden modificar, añadir a través de plugins o a través de código. Por ejemplo, si quisiéramos vender con el plugin Woocommerce, éste nos crearía el tipo de contenido “producto”.

Los motivos de añadir un tipo de Custom Post Type en nuestra instalación, son varios: por jerarquía, por SEO y por composición de los permalinks.

Mi recomendación, para la creación de un Portfolio, es hacerlo como tenemos en digitaleando.com con el nombre de proyectos, aunque puede ser con otro nombre.

Cómo crear un Custom Post Type

Hay muchas maneras de hacerlo. Yo te voy a enseñar una muy sencilla y rápida, a través de código, y que te va a permitir crear un nuevo tipo de contenido llamado “Proyectos”.

  • Instala el plugin del repositorio: “Code Snippets”
  • Añade un nuevo Snippets con el nombre: Proyectos.
  • Pega el siguiente código en el snippets y actívalo. Entonces verás ya activo y funcionando tu nuevo “Custom post type”
  • Si no funciona, tranquilo, ve a ajustes – enlaces permanentes y dale a guardar.
if ( ! function_exists('miweb_cpt_proyectos') ) {

// Register Custom Post Type
function miweb_cpt_proyectos() {

	$labels = array(
		'name'                  => _x( 'Proyectos', 'Post Type General Name', 'miweb_cpt_proyectos' ),
		'singular_name'         => _x( 'Proyecto', 'Post Type Singular Name', 'miweb_cpt_proyectos' ),
		'menu_name'             => __( 'Proyectos', 'miweb_cpt_proyectos' ),
		'name_admin_bar'        => __( 'Proyectos', 'miweb_cpt_proyectos' ),
		'archives'              => __( 'Archivos de proyectos', 'miweb_cpt_proyectos' ),
		'attributes'            => __( 'Item Attributes', 'miweb_cpt_proyectos' ),
		'parent_item_colon'     => __( 'Parent Item:', 'miweb_cpt_proyectos' ),
		'all_items'             => __( 'Todos los proyectos', 'miweb_cpt_proyectos' ),
		'add_new_item'          => __( 'Añadir nuevo proyecto', 'miweb_cpt_proyectos' ),
		'add_new'               => __( 'Añadir nuevo', 'miweb_cpt_proyectos' ),
		'new_item'              => __( 'Nuevo proyecto', 'miweb_cpt_proyectos' ),
		'edit_item'             => __( 'Editar proyecto', 'miweb_cpt_proyectos' ),
		'update_item'           => __( 'Update Item', 'miweb_cpt_proyectos' ),
		'view_item'             => __( 'View Item', 'miweb_cpt_proyectos' ),
		'view_items'            => __( 'View Items', 'miweb_cpt_proyectos' ),
		'search_items'          => __( 'Search Item', 'miweb_cpt_proyectos' ),
		'not_found'             => __( 'Not found', 'miweb_cpt_proyectos' ),
		'not_found_in_trash'    => __( 'Not found in Trash', 'miweb_cpt_proyectos' ),
		'featured_image'        => __( 'Featured Image', 'miweb_cpt_proyectos' ),
		'set_featured_image'    => __( 'Set featured image', 'miweb_cpt_proyectos' ),
		'remove_featured_image' => __( 'Remove featured image', 'miweb_cpt_proyectos' ),
		'use_featured_image'    => __( 'Use as featured image', 'miweb_cpt_proyectos' ),
		'insert_into_item'      => __( 'Insert into item', 'miweb_cpt_proyectos' ),
		'uploaded_to_this_item' => __( 'Uploaded to this item', 'miweb_cpt_proyectos' ),
		'items_list'            => __( 'Items list', 'miweb_cpt_proyectos' ),
		'items_list_navigation' => __( 'Items list navigation', 'miweb_cpt_proyectos' ),
		'filter_items_list'     => __( 'Filter items list', 'miweb_cpt_proyectos' ),
	);
	$rewrite = array(
		'slug'                  => 'proyecto',
		'with_front'            => true,
		'pages'                 => true,
		'feeds'                 => true,
	);
	$args = array(
		'label'                 => __( 'Proyecto', 'miweb_cpt_proyectos' ),
		'description'           => __( 'CPT de proyectos', 'miweb_cpt_proyectos' ),
		'labels'                => $labels,
		'supports'              => array( 'title', 'editor', 'thumbnail', 'revisions' ),
		'taxonomies'            => array( 'category', 'post_tag' ),
		'hierarchical'          => true,
		'public'                => true,
		'show_ui'               => true,
		'show_in_menu'          => true,
		'menu_position'         => 5,
		'menu_icon'             => 'dashicons-desktop',
		'show_in_admin_bar'     => true,
		'show_in_nav_menus'     => true,
		'can_export'            => true,
		'has_archive'           => true,
		'exclude_from_search'   => false,
		'publicly_queryable'    => true,
		'rewrite'               => $rewrite,
		'capability_type'       => 'page',
	);
	register_post_type( 'digi_proyectos', $args );

}
add_action( 'init', 'miweb_cpt_proyectos', 0 );

}

Si no te convence el nombre, quieres cambiarlo o quieres traducir otros items, puedes hacerlo cambiándolo en el código.