Tipos de publicacións personalizadas con categorías personalizadas

WordPress

WordPress estase a converter nunha plataforma tan indispensable para tantas empresas, pero a compañía media nin sequera aproveita unha fracción das capacidades. Un dos nosos clientes quería engadir unha sección de recursos ao seu sitio pero non quería facelo usando páxinas nin publicacións no blog. Isto é exactamente o que admite WordPress Tipos de publicacións personalizadas para!

Neste caso, queriamos engadir unha sección de recursos a un dos sitios dos nosos clientes. É bastante sinxelo engadir un Tipo de publicación personalizada ao teu tema de WordPress. Engade o seguinte código usando a función rexistro_post_tipo á súa páxina functions.php:

// Engadir recursos Tipo de publicación personalizada add_action ('init', 'create_post_type'); función create_post_type () {register_post_type ('resources', array ('labels' => array ('name' => __ ('Resources'), 'singular_name' => __ ('Resource'), 'add_new' => __ ('Engadir novo'), 'add_new_item' => __ ('Engadir novo recurso'), 'edit_item' => __ ('Editar recurso'), 'new_item' => __ ('Novo recurso'), 'all_items' => __ ('Todos os recursos'), 'view_item' => __ ('Ver recurso'), 'search_items' => __ ('Buscar recursos'), 'not_found' => __ ('Recurso non atopado'), 'not_found_in_trash' => __ ('Non hai recursos no lixo'), 'parent_item_colon' => '', 'menu_name' => __ ('Recursos')), 'public' => verdadeiro, 'has_archive' => verdadeiro, 'rewrite' => array ('slug' => 'recursos'), 'supports' => array ('title', 'editor', 'author', 'thumbnail', 'extracto', 'comments'))) ; }

Un pouco máis difícil de atopar era como facelo categorías personalizadas para o seu Tipo de publicación personalizada. Unha das razóns polas que é difícil descubrir como facelo é porque se chama taxonomía personalizada e utiliza o rexistro_taxonomía función para personalizalo. Neste caso, queremos engadir tipos de recursos como seminarios web, papeis brancos, etc. ao tema ... así que aquí tes un código adicional para o ficheiro functions.php:

add_action ('init', 'resource_category_init', 100); // 100 polo que se rexistrou o tipo de publicación resource_category_init () {register_taxonomy ('type', 'resources', array ('labels' => array ('name' => 'Tipo de recurso', 'singular_name' => ' Tipo de recurso ',' search_items '=>' Buscar tipos de recursos ',' popular_items '=>' Tipos de recursos populares ',' all_items '=>' Todos os tipos de recursos ',' edit_item '=> __ (' Editar tipo de recurso ') , 'update_item' => __ ('Actualizar tipo de recurso'), 'add_new_item' => __ ('Engadir novo tipo de recurso'), 'new_item_name' => __ ('Novo tipo de recurso')), 'xerárquico' => 'false', 'label' => 'Tipo de recurso')); }

Os tipos de publicacións personalizadas tamén permiten deseñar o arquivo e páxinas individuais para os seus tipos de publicacións personalizadas. Simplemente copie os ficheiros archive.php e single.php. Cambie o nome das copias co Tipo de publicación personalizada no nome. Neste caso, iso sería archive-resources.php e single-resources.php. Agora podes personalizar esas páxinas como queiras que se vexa a páxina do recurso.

2 Comentarios

  1. 1

    Another way would be to use a plugin like Easy Custom Content Types or Types.

    These plugins also enable you to easily add custom meta boxes and create custom page and post templates.

    • 2

      Very true @google-d5279c8b66d25549a0ec3c8dd46a3d1a:disqus ! I’ll be honest that I feel like a couple of the plugins add a ton of overhead to the blog… and you can’t just move a theme from one site to the next, you have to make sure you move the plugins, too. It’s the only reason I work to embed the necessary functions in the theme files.

¿Que pensas?

Este sitio usa Akismet para reducir o spam. Aprende a procesar os teus datos de comentarios.