服务器与VPS
促销优惠信息

WordPress为文章和自定义文章类型添加自定义模板

查看目录
文章目录隐藏
  1. WordPress主题的模板
  2. WordPress自定义模板
  3. 文章和自定义文章类型的自定义模板
  4. 创建文章和自定义文章类型的模板

很多主题开发者都知道,WordPress 支持为页面(page)这种文章类型添加自定义模板,但是如何为文章和自定义文章类型添加自定义模板呢?其实, WordPress 4.7 开始就支持了,但可能不少主题开发者还不知道。

WordPress主题的模板

默认情况下,WordPress支持大量主题模板文件,但是这些文件对多种变体的支持有限。对于文章,基本上只限于single.php文件,而对于自定义文章类型,则只有single-{post-type}.php。

WordPress自定义模板

长期以来,通过将下面的模板标题添加到页面模板文件中,可以向WordPress页面添加多个自定义模板。但这仅支持页面,不适用于默认文章或自定义文章类型。

  1. <?php
  2. /*
  3. Template Name: Contact
  4. */

文章和自定义文章类型的自定义模板

从WordPress 4.7开始,有一个新的鲜为人知的功能,可以让你为文章、页面和自定义文章类型添加多个模板。

要测试此新功能,我们首先必须注册一个自定义文章类型。将以下代码复制到你主题的functions.php文件中,来创建一个新的自定义文章类型,称为“Product”

  1. <?php
  2. function create_product_post_type() {
  3. register_post_type( 'product',
  4. array(
  5. 'labels' => array(
  6. 'name' => __( 'Products' ),
  7. 'singular_name' => __( 'Product' )
  8. ),
  9. 'public' => true,
  10. 'has_archive' => true,
  11. 'show_in_rest' => true // 启用古腾堡编辑器
  12. )
  13. );
  14. }
  15. add_action( 'init', 'create_product_post_type' );

创建自定义文章类型时,有很多选项可以使用,但出于我们的目的,我们将尽可以简单。记下第12行。在这里您可以在Gutenberg和经典编辑器之间切换。在编写本文时,默认情况下,自定义文章类型将启用经典编辑器,可以通过添加第12行的代码,来启用Gutenberg编辑器。

上面的代码将注册新的自定义文章类型,该类型将在WordPress管理员中显示,如下所示。

WordPress为文章和自定义文章类型添加自定义模板

创建文章和自定义文章类型的模板

要为我们的新的文章类型 Product 创建模板,我们可以创建一个product.php文件并为其添加布局。很好,但是如果我们需要特定产品的不同布局怎么办?好吧……就像我说的那样……从WordPress 4.7开始,你可以在模板文件中使用新的特殊注释标题。

在主题目录中创建一个名为 full-width-page-layout.php 的新文件,并在顶部添加以下代码片段。

  1. <?php
  2. /*
  3. Template Name: Full-width page layout
  4. Template Post Type: post, page, product
  5. */

这样就注册了新模板,用于文章、页面和自定义文章类型 Product。它将在经典和古腾堡编辑器的编辑页面右侧显示“发布属性”框,如下所示。

WordPress为文章和自定义文章类型添加自定义模板

请注意,你可以将“Template Post Type:”的值更改为任何已注册的文章类型。因此,如果只希望将模板应用于 Product 文章类型,请更改标题,如下所示:

  1. <?php
  2. /*
  3. Template Name: Full-width page layout
  4. Template Post Type: product
  5. */

看起来很简单,却是功能非常强大的功能,希望这篇小文章能帮助你为WordPress网站创建更精彩的主题。

参考: https://vanaf1979.nl/wordpress-multiple-custom-templates-for-posts-and-custom-post-types/

楚狂人 » WordPress为文章和自定义文章类型添加自定义模板

相关推荐

  • 暂无文章

评论 抢沙发

  • (必填)
  • (必填)

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏