【问题标题】:Custom Post Types with Parent Pages - best practice带有父页面的自定义帖子类型 - 最佳实践
【发布时间】:2017-04-26 21:30:12
【问题描述】:

我正在使用这样一个产品类别和单个产品组织的网站:

产品类别 1

  • 产品
  • 产品
  • 产品

产品类别 2

  • 产品

等等……

有人向我建议,组织单个产品的最佳方式是为产品创建自定义帖子类型。产品类别目前是页面。

所以现在我试图找出将产品自定义帖子类型与其特定产品类别页面联系起来的最佳方法(这样 url 结构可以是“/product_category/product/”)。

我确信有一种聪明而有效的方法可以做到这一点,但我没有看到它。我在想我可以为页面和 CPT 添加类别——但这并不是我想要的效果,因为我不希望它们只能作为存档页面访问。这真的有问题吗?

很抱歉,这是一个如此广泛的问题 - 我可以让它发挥作用,但我确信我的第一次尝试不会是最好的方法,所以我只是从以前做过这件事的人那里寻找一些指示或例子引导我朝着正确的方向前进。

在此先感谢,任何帮助表示赞赏。

【问题讨论】:

    标签: wordpress custom-post-type


    【解决方案1】:

    您可以使用Custom Taxonomies

    function product_categories_init() {
        register_taxonomy(
            'product-category',
            'product', // Or 'post', whatever the custom post type is
            array(
                'label'              => __( 'Product Categories' ),
                'rewrite'            => array( 'slug' => 'product-categories' ),
                'hierarchical'       => false,
                'show_ui'            => true,
                'show_admin_column'  => true,
                'query_var'          => true,
            )
        );
    }
    add_action( 'init', 'product_categories_init' );
    

    这是一个简单的例子。您必须查看参考链接中的选项。但它本质上是您自己的帖子类型(或帖子类型数组)的类别。

    【讨论】:

    • 非常感谢您的回答 - 这很有意义。然而,我仍然在让产品和产品组之间的关系做我需要的事情时遇到麻烦,并且正在考虑为产品创建单独的页面而不是使用 CPT,但也许我不理解某些东西。您认为在这种情况下使用 CPT 是必要或有益的吗?
    • 这确实是一种偏好。您当然可以为每种类型的产品制作单独的自定义帖子类型(如果它们的差异足以需要,例如 T 恤与数字下载或其他东西),然后创建短代码来查询不同类型并将它们添加到页面中。自定义分类法更有条理。你在让它做你需要的事情时遇到什么麻烦?换句话说,你需要做什么?我知道您本质上想要类别,但不是标准帖子类别,对吧?
    • 你看过 WooCommerce 吗?即使您不想使用它,我也建议您设置一个虚拟站点并安装 WooCommerce 只是为了查看代码以了解它们是如何做到的。以别人的代码为例就好了。
    【解决方案2】:

    最后我做对了。我的部分问题是由于对如何在 wordpress 中使用类别的误解。

    我最终做的是使用 Austin Winstanely 的回答所示的自定义分类法,然后稍微重构我的页面组织,以便产品类别不是页面帖子类型,而是一个类别 - 使用类别模板显示.这使得它非常方便,因为自定义帖子类型中的单个产品可以很容易地与其产品类别相关联。当我问这个问题时,我不明白类别可以有自己的模板和网页功能。

    感谢您的帮助! -艾莉莎

    【讨论】:

      猜你喜欢
      • 2021-06-17
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-23
      • 2017-12-01
      • 1970-01-01
      • 2015-01-23
      相关资源
      最近更新 更多