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

相信很多主题开发者都知道,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 网站创建更精彩的主题。

原创文章,作者:DavidWu,如若转载,请注明出处:https://www.davidwu.net/archives/89572

WordPress安全防护插件
服务项目 服务内容 收费标准(元)
开发定制 WordPress主题/插件开发定制 (以最终需求为准)
主题/插件汉化 汉化团队WordPress主题/插件,翻译率95% (以标的主题/插件的句子数量为准)
服务器环境配置 基于您现有服务器,搭建配置网站运行环境,结合我们多年来实战经验,可完美支持WordPress等PHP程序运行,并配置伪静态规则、优化目录权限等问题。服务器我们强烈推荐使用Linux系统。 100元/次
网站托管 若贵站目前尚无技术人员,无法完成服务器环境配置,可选择我们的网站托管服务,直接交付正常运行的WordPress站点,并且无需担心服务器的后续维护工作,一切都由我们来帮您完成。 标配套餐:1000元/年/站点 高配套餐:联系客服获取
网站加速优化 从服务器后端配置优化到WordPress数据库缓存、前端页面缓存、JS和CSS压缩合并,全方位优化网站加载速度,实现秒开。(此服务仅针对(云)服务器/VPS) 500元/次(仅站内优化200元/次)
主题配置 本站所有主题均支持,可快速实现,若有任何问题可以咨询客服解决,若您希望我们提供配置服务,可选购此服务。 英文主题安装 60元/次 汉化主题安装 30元/次
HTTPS配置 HTTPS已经不断普及,并且有着更高的安全性以及SEO上的优待。该服务收取的为服务费,SSL证书产生的费用请自行承担。 100元/次
网站搬家 迁移网站所有文件和数据库信息、网站相关配置的调整、以及迁移中的疑难问题故障排除。 标准收费:500元/次 若网站数据量大,需协商
网站运维 提供整站的运维服务,保证网站正常运行。包含:网站故障定位及排除、网站数据备份和恢复、网站攻击及木马等问题的处理等 标准收费:2000元/年 IP 5000以上需协商

发表评论

电子邮件地址不会被公开。 必填项已用*标注

51建站客服微信二维码
点击这里购买