如果我创建页面,则可以创建自定义模板php文件来驱动它们。例如,我可以使用“ page-villages.php”而不是默认的“ page.php”来驱动“村庄”页面
但是。如果我有一个名为“ town”的自定义帖子类型,并且尝试创建一个名称为“ Towns”的页面,则似乎无法使用名为“ page-towns.php”的php文件来驱动它,它始终默认为“ index.php”
可能与注册有关?
register_post_type('town', array( /* by default, the post type name is the SLUG for that post type*/
'public' => true, /* makes post type visible to admins, editors, etc*/
'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields'),
'has_archive' => true, /* make post type have a archive URL */
'rewrite' => array('slug' => 'towns'), /*plural name for the SLUG instead of default singular name */
'labels' => array(
'name' => 'Towns',
'add_new_item' => 'Add New Town',
'edit_item' => 'Edit Town',
'all_items' => 'All Towns',
'singular_name' => 'Town'
),
'menu_icon' => 'dashicons-admin-multisite'
));
有没有办法解决这个问题?
答案 0 :(得分:1)
您正在寻找single-{post}.php template file。
如果文件 single.php 存在,则Wordpress将在查看单个帖子时使用该文件。自定义帖子类型也将使用该文件。如果您想覆盖它,请使用单次{您的邮递名} .php
在您的情况下,您将使用 single-towns.php
-
此外,我相信您应该使用一个唯一的名称来命名自定义帖子类型,因此也许更新为使用 town 作为您的帖子名称,然后您将使用 single-town.php < / em>作为模板文件。