首页 > 解决方案 > WordPress自定义帖子类型选择模板下拉菜单丢失

问题描述

我是 WordPress 的新手,我创建了一个自定义帖子类型,但即使添加了“页面属性”,我也看不到用于选择自定义模板的模板下拉列表,只有“订单”字段可见。

我的主题有 3 个不同的菜单(顶部、主和页脚),所有这些菜单的每个菜单都有相同的模板,例如:主菜单有中央、东、西、北和南位置,布局相同,顶部相同菜单也是如此。

主菜单和顶部菜单中的每个位置都是一个存档页面,我可以在其中显示该位置帖子的列表以供进一步查看。但是按照传统的存档-{post_type}.php,我必须为每个位置创建一个新的存档页面。

这是主菜单的代码:

[
    "capability_type" => "post",
    "description" => "Holds our location's specific data",
    "public" => true,
    "menu_position" => 5,
    "has_archive" => true,
    "show_admin_column" => true,
    "supports" => [
        "title",
        "editor",
        "thumbnail",
        "excerpt",
        "revisions",
        "page-attributes"
    ],
    "taxonomies" => [
        "post_tag"
    ],
    "labels" => [
        "name" => "Locations",
        "singular_name" => "Location",
        "add_new" => "Add Location",
        "add_new_item" => "Add Location" ,
        "edit_item" => "Edit Location",
        "new_item" => "New Location",
        "all_items" => "Locations" ,
        "view_item" => "View Location",
        "search_items" => "Search Location",
        "not_found" => "No Locations found",
        "not_found_in_trash" => "No Locations found in the Trash",
        "parent_item_colon" => "",
        "menu_name" => "Locations"
    ]
]

这是输出:

在此处输入图像描述

请帮助解决此问题。

谢谢

标签: wordpresstemplatesselectcustom-post-type

解决方案


以前,这仅适用于pages. 但由于4.7它适用于所有帖子类型,您只需要添加Template Post Type到文件标题即可。

例如。

<?php
/*
Template Name: Full-width layout
Template Post Type: post, page, product
*/

// … your code here

https://make.wordpress.org/core/2016/11/03/post-type-templates-in-4-7/


推荐阅读