自定义帖子类型单页不起作用

Posted

技术标签:

【中文标题】自定义帖子类型单页不起作用【英文标题】:Custom post type single page not working 【发布时间】:2017-02-01 04:50:09 【问题描述】:

我有 aj-fashions 自定义帖子类型。从技术上讲,我试图在名为 fashio-template.php 的模板文件中显示所有帖子的循环,现在对于单个帖子,我创建了文件 single-fashions.php。我仍然收到找不到页面的 404 错误。

请指教,以下是我的代码。

add_action( 'init', 'fashion' );
function fashion() 
  register_post_type( 'aj-fashion',
    array(
      'labels' => array(
        'name' => __( 'AJ Fasions' ),
        'singular_name' => __( 'AJ Fashion' )
      ),
        'public' => true,
        'has_archive' => true,
        'show_ui' => true,
        'hierarchical' => false,
        'rewrite' => array('slug' => 'aj-fashions',),
        'supports'=> array( 'title', 'editor', 'thumbnail', 'author' ),
    )
  );

【问题讨论】:

添加flush_rewrite_rules();工作。 什么是单个帖子特定的帖子循环??? 从设置更新永久链接。 它工作了我在永久链接中添加了帖子 $post->ID 并且它的工作......谢谢大家...... 【参考方案1】:

我也遇到过同样的问题,不过可以通过以下代码来解决:

function register_fashion() 

    $labels = array(
        'name'                  => 'AJ Fasions',
        'singular_name'         => 'AJ Fasion',
        'menu_name'             => 'AJ Fasions',
        'name_admin_bar'        => 'AJ Fasion',
        'archives'              => 'ajfashionArchives',
        'attributes'            => 'Item Attributes',
        'parent_item_colon'     => 'Parent Item:',
        'all_items'             => 'All Items',
        'add_new_item'          => 'Add New Item',
        'add_new'               => 'Add New',
        'new_item'              => 'New Item',
        'edit_item'             => 'Edit Item',
        'update_item'           => 'Update Item',
        'view_item'             => 'View Item',
        'view_items'            => 'View Items',
        'search_items'          => 'Search Item',
        'not_found'             => 'Not found',
        'not_found_in_trash'    => 'Not found in Trash',
        'featured_image'        => 'Featured Image',
        'set_featured_image'    => 'Set featured image',
        'remove_featured_image' => 'Remove featured image',
        'use_featured_image'    => 'Use as featured image',
        'insert_into_item'      => 'Insert into item',
        'uploaded_to_this_item' => 'Uploaded to this item',
        'items_list'            => 'Items list',
        'items_list_navigation' => 'Items list navigation',
        'filter_items_list'     => 'Filter items list',
    );
    $args = array(
        'label'                 => 'AJ Fasion',
        'description'           => 'Post Type Description',
        'labels'                => $labels,
        'supports'              => array( 'title', 'editor', 'thumbnail', 'custom-fields' ),
        'taxonomies'            => array( 'fashion_category' ),
        'hierarchical'          => false,
        'public'                => true,
        'show_ui'               => true,
        'show_in_menu'          => true,
        'menu_position'         => 5,
        'show_in_admin_bar'     => true,
        'show_in_nav_menus'     => true,
        'can_export'            => true,
        'has_archive'           => true,
        'exclude_from_search'   => false,
        'publicly_queryable'    => true,
        'capability_type'       => 'post',
    );
    register_post_type( 'aj-fashion', $args );

add_action( 'init', 'register_fashion', 0 );

【讨论】:

【参考方案2】:

创建 single-posttype.php 后,您只需更新您的永久链接。

这比使用这个功能不起作用

放入functions.php flush_rewrite_rules(false);

【讨论】:

【参考方案3】:

创建 single-posttype.php 后,您只需更新您的永久链接。进入设置-> 永久链接。每个开发人员第一次遇到这个问题。

【讨论】:

创建新模板应该不会影响此解决方案的工作,因为无论如何它都会默认使用不同的模板。只有“设置->永久链接”与此处相关。【参考方案4】:

对单个模板使用single-posttype.php。此外,如果您注册您的帖子类型并将has_archive 参数设置为true,那么您可以使用archive-posttype.php 作为您的存档模板,这将允许您跳过那里的查询,因为全局$wp_query 对象将已使用您的自定义帖子类型填充。

在您的情况下检查以下示例

single-fashions.php 而不是single-aj-fashion.php

【讨论】:

我的自定义帖子类型 = "aj-fasion",这就是为什么我将其命名为 single-aj-fashion.php?我做错了吗?好心的建议 你没有错,但无论你在register_post_type 中使用什么slug,它都是wordpress 标准,需要在单个ex 之后添加slug:single-posttypeslug.php。它对你有用吗?

以上是关于自定义帖子类型单页不起作用的主要内容,如果未能解决你的问题,请参考以下文章

WordPress 自定义帖子类型存档-<帖子类型>.php 不起作用

按自定义字段过滤帖子 - url 正确更新但过滤不起作用

创建替换帖子标题的功能不起作用

带有连接表字段排序的 Cakephp 分页不起作用

自定义分类页面不起作用

为啥分页不起作用并在 wordpress 网站上出现 404 错误?