Je pensais que nous pouvons appliquer des modèles à types de page personnalisés :
De cette manière, vous ne pouvez pas appliquer de modèles à des types de publication personnalisés. Cela n'apparaîtra que si le type de message est 'page'
Mon code:
function keyword_pages_init() {
$args = array(
'label' => 'Keywords',
'public' => true,
'show_ui' => true,
'capability_type' => 'page',
'hierarchical' => false,
'rewrite' => array('slug' => 'keywords'),
'query_var' => true,
'menu_icon' => 'dashicons-admin-page',
'supports' => array(
'title',
'editor',
'excerpt',
'trackbacks',
'custom-fields',
'comments',
'revisions',
'thumbnail',
'author',
'page-attributes',
)
);
register_post_type( 'keywords', $args );
}
add_action( 'init', 'keyword_pages_init' );
Mais la template
n'apparaît pas du tout sous page attributes
lorsque j'essaie d'ajouter une nouvelle page sous ce type de page personnalisé.
Des idées?
Faites-vous référence à la nouvelle fonctionnalité de modèles de types de postes incluse dans la section 4.7 ?
Pour rendre un modèle de page _ disponible à votre cpt 'mots-clés', vous devez ajouter un en-tête de ce type à un modèle de page personnalisé.
/**
* Template Name: Template Name
* Template Post Type: post, page, keywords
*/
Ce modèle serait disponible pour toutes les publications, pages et vos mots clés cpt. Voici un exemple de modèle de page complète ...
<?php
/**
* ACF Flexible Content template
*
* Learn more: https://codex.wordpress.org/Template_Hierarchy
*
* @package YM
* @since 1.0
* @version 1.0
*/
/**
* Template Name: Flexible Content
* Template Post Type: post, page, product, event
*/
/**
* Add landing page body class to the head
*
* @param $classes
* @return array
*/
add_filter( 'body_class', function ( $classes ) {
$classes[] = 'flexible-content-template';
return $classes;
} );
/**
* Remove entry header
*/
remove_action( 'genesis_entry_header', 'genesis_do_post_title' );
/**
* Force full width layout
*/
add_filter( 'genesis_pre_get_option_site_layout', '__genesis_return_full_width_content' );
/**
* Remove breadcrumbs
*/
remove_action( 'genesis_before_loop', 'genesis_do_breadcrumbs' );
/**
* Add ACF Flexible Content. See inc/layout.php
*
* @uses ym_flexible_content();
*/
remove_action( 'genesis_loop', 'genesis_do_loop' );
add_action( 'genesis_after_header', 'ym_flexible_content' );
genesis();
https://make.wordpress.org/core/2016/11/03/post-type-templates-in-4-7/