这是我的自定义类型
function cd_custom_post()
{
// creo e registro il custom post type
register_post_type('podcast', /* nome del custom post type */
// definisco le varie etichette da mostrare nei menù
array('labels' => array(
'name' => 'Podcasts', /* nome, al plurale, dell'etichetta del post type. */
'singular_name' => 'Podcast', /* nome, al singolare, dell'etichetta del post type. */
'all_items' => 'All podcasts', /* testo nei menu che indica tutti i contenuti del post type */
'add_new' => 'Add new', /*testo del pulsante Aggiungi. */
'add_new_item' => 'Add new podcast', /* testo per il pulsante Aggiungi nuovo post type */
'edit_item' => 'Edir podcast', /* testo modifica */
'new_item' => 'New podcast', /* testo nuovo oggetto */
'view_item' => 'See all podcasts', /* testo per visualizzare */
'search_items' => 'Find podcast', /* testo per la ricerca*/
'not_found' => 'No podcast found', /* testo se non trova nulla */
'not_found_in_trash' => 'No podcast found in the recycle bin', /* testo se non trova nulla nel cestino */
'parent_item_colon' => ''
), /* fine dell'array delle etichette del menu */
'description' => 'Podcast', /* descrizione del post type */
'public' => true, /* definisce se il post type sia visibile sia da front-end che da back-end */
'publicly_queryable' => true, /* definisce se possono essere fatte query da front-end */
'exclude_from_search' => false, /* esclude (false) il post type dai risultati di ricerca */
'show_ui' => true, /* definisce se deve essere visualizzata l'interfaccia di default nel pannello di amministrazione */
'query_var' => true,
'menu_position' => 8, /* definisce l'ordine in cui comparire nel menù di amministrazione a sinistra */
'menu_icon' => 'dashicons-playlist-audio', /* imposta l'icona da usare nel menù per il posty type */
'rewrite' => array('slug' => 'podcast', 'with_front' => false), /* specificare uno slug per leURL */
'has_archive' => 'false', /* definisci se abilitare la generazione di un archivio (tipo archive-cd.php) */
'capability_type' => 'post', /* definisci se si comporterà come un post o come una pagina */
'hierarchical' => false, /* definisci se potranno essere definiti elementi padri di altri */
/* la riga successiva definisce quali elementi verranno visualizzati nella schermata di creazione del post */
'supports' => array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'sticky')
) /* fine delle opzioni */
); /* fine della registrazione */
}
// Inizializzo la funzione
add_action('init', 'cd_custom_post');
这是单个播客模板页面,称为“ single-podcast.php”
<?php
/**
*Template Name: Template Podcast Details
*Template Post Type: podcast
*/
get_header();
$fields = get_post_custom();
$args = array(
'post_type' => 'podcast',
'post_status' => 'publish',
'post_per_page' => 1,
);
$testimonials = new WP_Query($args);
$postid = url_to_postid(get_permalink());
?>
<h1>Dettaglio podcast</h1>
然后我在wp-admin中添加了一个名为Single Podcast的新页面。但是我无法以以下声音找到模板页面:页面属性->模板。 我究竟做错了什么?术语? 例如,在我的首页中,所有帖子都带有以下代码
<a href="<?= the_permalink() ?>">
<p><?= get_field('name-track') ?></p>
</a>
答案 0 :(得分:0)
请将页面名称从single-podcast.php更改为podcast-display.php。
single-podcast.php是帖子模板,显示单个帖子,这意味着当您尝试从该页面将调用的Podcast帖子类型访问任何帖子时,因此无法为其分配模板名称。除此之外,您可以更改页面名称,例如podcast.php或其他名称。
答案 1 :(得分:0)
如果您将新帖子类型设置为
'capability_type' => 'post',
您将无法使用模板。将其更改为
'capability_type' => 'page',
也不要忘记添加对“页面属性”的支持
'supports' => array('title', 'page-attributes'),
答案 2 :(得分:0)
@Daniel Drabik的建议可以解决您的问题。
使用的是旧版本的WordPress?从WordPress 4.7开始,支持自定义帖子类型的模板,如您所见:
https://codex.wordpress.org/Version_4.7
在这里:
https://make.wordpress.org/core/2016/11/03/post-type-templates-in-4-7/