自定义帖子模板使我的wordpress崩溃
我已经在wp中创建了一个自定义帖子类型“ToorName”。 我已经在我的插件中完成了一个单一的toorname.php。 当我在index.php中需要它时,我有一个致命错误。。。 也许这可能是一个锅配置错误?我给你下面的代码 你知道它是从哪里来的吗自定义帖子模板使我的wordpress崩溃,wordpress,Wordpress,我已经在wp中创建了一个自定义帖子类型“ToorName”。 我已经在我的插件中完成了一个单一的toorname.php。 当我在index.php中需要它时,我有一个致命错误。。。 也许这可能是一个锅配置错误?我给你下面的代码 你知道它是从哪里来的吗 <?php function toornament_post() { // Set UI labels for Custom Post Type $labels = array( 'name'
<?php
function toornament_post() {
// Set UI labels for Custom Post Type
$labels = array(
'name' => _x( 'Toornaments', 'Post Type General Name', 'twentytwenty' ),
'singular_name' => _x( 'Toornament', 'Post Type Singular Name', 'twentytwenty' ),
'menu_name' => __( 'Toornaments', 'twentytwenty' ),
'parent_item_colon' => __( 'Parent Toornament', 'twentytwenty' ),
'all_items' => __( 'All Toornaments', 'twentytwenty' ),
'view_item' => __( 'View Toornament', 'twentytwenty' ),
'add_new_item' => __( 'Add New Toornament', 'twentytwenty' ),
'add_new' => __( 'Add New', 'twentytwenty' ),
'edit_item' => __( 'Edit Toornament', 'twentytwenty' ),
'update_item' => __( 'Update Toornament', 'twentytwenty' ),
'search_items' => __( 'Search Toornament', 'twentytwenty' ),
'not_found' => __( 'Not Found', 'twentytwenty' ),
'not_found_in_trash' => __( 'Not found in Trash', 'twentytwenty' ),
);
// Set other options for Custom Post Type
$args = array(
'label' => __( 'Toornament', 'twentytwenty' ),
'description' => __( 'Toornament information et inscription', 'twentytwenty' ),
'labels' => $labels,
// Features this CPT supports in Post Editor
'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),
// You can associate this CPT with a taxonomy or custom taxonomy.
'taxonomies' => array( 'genres' ),
/* A hierarchical CPT is like Pages and can have
* Parent and child items. A non-hierarchical CPT
* is like Posts.
*/
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'menu_position' => 5,
'can_export' => true,
'has_archive' => false,
'exclude_from_search' => false,
'publicly_queryable' => true,
'query_var' => 'toornament',
'capability_type' => 'post',
'show_in_rest' => true,
);
// Registering your Custom Post Type
register_post_type( 'toornament', $args );
}
如果创建单个-{post type}.php模板,则不应将其包含在index.php中 要为自定义帖子类型添加单个模板,有两种方法:
single_模板
filter hook将其钩住李>
根据问题创建新自定义帖子类型的代码有效。您好,谢谢您的回答,我在第二个选项后面有一部分代码,但它会导致wp致命错误。。。你知道它是从哪里来的吗?(我已编辑帖子)thx获取新信息…请将错误消息添加到您的问题中…也许您必须激活wordpress wp-config.php()中的调试文件…我不想编写插件来解决您的问题;-)乍一看,我猜路径与文件不匹配您不需要在functions.php中为您的CPT设置模板-如果您正确设置了模板,WP将自动拾取该模板。为了省去很多麻烦,我建议你在进一步研究之前先了解一下Wordpress中模板的基本工作原理:只有当你的模板位于主题文件夹中时,这才是正确的……如果它位于插件文件夹(如问题创建者)中,Wordpress将无法识别该模板
function get_custom_post_type_template( $single_template ) {
global $post;
if ( 'toornament' === $post->post_type ) {
$single_template = dirname( __FILE__ ) . '/single-toornament.php';
}
return $single_template;
}
add_filter( 'single_template', 'get_custom_post_type_template' )