Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自定义帖子模板使我的wordpress崩溃_Wordpress - Fatal编程技术网

自定义帖子模板使我的wordpress崩溃

自定义帖子模板使我的wordpress崩溃,wordpress,Wordpress,我已经在wp中创建了一个自定义帖子类型“ToorName”。 我已经在我的插件中完成了一个单一的toorname.php。 当我在index.php中需要它时,我有一个致命错误。。。 也许这可能是一个锅配置错误?我给你下面的代码 你知道它是从哪里来的吗 <?php function toornament_post() { // Set UI labels for Custom Post Type $labels = array( 'name'

我已经在wp中创建了一个自定义帖子类型“ToorName”。 我已经在我的插件中完成了一个单一的toorname.php。 当我在index.php中需要它时,我有一个致命错误。。。 也许这可能是一个锅配置错误?我给你下面的代码

你知道它是从哪里来的吗

<?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' )