如何在 WordPress 中创建自定义单个帖子模板

您想在 WordPress 中创建自定义的单个帖子模板吗?

自定义单篇文章模板允许您为个人博客文章使用不同的布局.许多 WordPress 主题都带有一些不同的页面模板,如果需要,您也可以创建自己的页面模板.

在本文中,我们将向您展示如何在 WordPress 中轻松创建自定义单个帖子模板.我们将分享多种方法,因此您可以选择最适合您需求的方法.

How to create custom single post template in WordPress

注意:本教程要求您编辑 WordPress 主题文件.如果您以前没有这样做过,请查看我们的教程,了解如何在 WordPress 中复制和粘贴代码.

什么时候需要自定义单个帖子模板?

有时您可能希望网站上的某些帖子具有不同的外观.例如,您可能希望为特定类别的精选文章或故事使用不同的布局.

这是您需要在 WordPress 中自定义单个帖子模板的地方.

默认情况下,WordPress 使用基于 WordPress 模板层次结构的单个帖子模板.所有主题都带有一个 single.php 模板,该模板用作所有单个帖子的默认模板.

某些主题还可能包含您可以使用的其他模板或布局选项.

这很像创建自定义页面模板.大多数 WordPress 主题还附带页面模板,您可以在 WordPress 中编辑页面时使用这些模板.

Choosing a page template

话虽如此,让我们来看看如何在 WordPress 中轻松创建自定义的单篇文章模板.我们将向您展示多种方法,因此您可以使用最适合您的方法.

  • 使用块编辑器在 WordPress 中创建单个帖子模板
  • 使用 Beaver Builder 在 WordPress 中创建自定义的单个帖子布局
  • 使用主题设置在 WordPress 中创建单个帖子布局
  • 在 WordPress 中手动创建自定义单个帖子模板
  • 在 WordPress 中按类别创建自定义单个帖子模板
  • 为特定作者创建自定义单个帖子模板

使用块编辑器在 WordPress 中创建单个帖子模板

此方法并没有真正创建帖子模板,并且灵活性有限.但是,这是保存您自己的单个帖子布局然后重用它们的最简单方法.

默认的 WordPress 块编辑器带有一个内置功能,允许您保存和重复使用块.一个这样的可重用块称为 Group 块.

组块基本上允许您将多个块和整个帖子布局放入一个组中.然后,您可以保存此群组块并在其他帖子中重复使用.

让我们来看看如何使用群组块来保存您的自定义帖子模板.

首先,您需要在 WordPress 中创建一个新帖子.之后,只需向内容区域添加一个组块.

Add group block

现在您可以开始将块添加到组块中以创建单个帖子布局.您可以添加所需的任何块,包括列、媒体和文本、封面图像等.

Add blocks to the group

一旦您对您创建的布局感到满意,您需要抬起鼠标并选择组块.单击三点菜单图标,然后选择"添加到可重用块"选项.

Add reusable block

接下来,您需要为可重用块提供名称,然后单击"保存"按钮.WordPress 现在将保存您的可重用块,包括组块内的所有块.

然后,您可以编辑网站上的任何现有帖子或创建新帖子.在帖子编辑屏幕上,只需单击添加新块按钮并在可重用块下查找您保存的块.

Reuse block

将块添加到您的帖子中,WordPress 将在您保存时加载包含所有块和设置的整个组块.

此方法允许您保存自定义布局.但是,它不允许您更改主题处理单个帖子的方式.

如果您想要更大的灵活性,请继续阅读.

使用 Beaver Builder 在 WordPress 中创建自定义单个帖子模板

创建自定义单个帖子模板的最简单方法是使用 Beaver Builder.它是市场上最好的 WordPress 页面构建器插件,允许您创建帖子模板而无需编写任何代码或修改 WordPress 主题.

您需要做的第一件事是安装并激活 Beaver Builder 插件.有关更多详细信息,请参阅有关如何安装 WordPress 插件的分步指南.

激活后,您需要访问设置» Beaver Builder 页面并切换到许可证选项卡以输入您的许可证密钥.

Beaver Builder license key

您可以在 Beaver Builder 网站上的帐户下找到此信息.

默认情况下,WordPress 中的页面启用了 Beaver Builder.您还需要使其可用于帖子.

为此,请切换到设置»下的帖子类型选项卡.Beaver Builder 页面.从这里您需要选中"帖子"选项旁边的框.

Enable Beaver Builder for posts

不要忘记点击"保存帖子类型"按钮来存储您的更改.

现在一切都设置好了,让我们创建一个自定义帖子模板.

只需在 WordPress 中创建一个新帖子,然后在帖子编辑屏幕上单击"启动 Beaver Builder"按钮.

Launch Beaver Builder

这将打开 Beaver Builder 界面,并实时预览您的网站.您可以通过单击屏幕右上角的添加按钮开始向现有布局添加模块和行.

您还可以选择一个模板作为起点.甚至还有一个空白模板可以让您从头开始.

Select a Beaver Builder template

选择模板后,您可以通过简单的点击进行编辑.您还可以添加行和列并用模块和元素填充它们以创建自定义布局模板.

Adding Beaver Builder modules

您可以随意尝试不同的模块并调整它们的设置.

一旦您创建了想要用作帖子模板的内容.是时候拯救它了.

Beaver Builder 允许您将布局保存为模板,然后在其他帖子中重复使用.只需单击屏幕右上角的菜单,然后选择保存模板.

Save your custom Beaver Builder post template

系统会要求您为模板提供名称.之后,单击"保存"按钮将其存储.

Name and save the template

现在,让我们看看如何在创建帖子时使用这个自定义帖子模板.

只需编辑帖子或创建新帖子,然后启动 Beaver Builder 即可编辑帖子.

接下来,您需要单击屏幕右上角的添加按钮,然后切换到模板选项卡.从这里您需要从组下拉菜单中选择"保存的模板".

Load your custom template

Beaver Builder 现在将加载您保存的自定义布局,然后您可以开始为新文章添加内容.

为自定义单个帖子布局使用主题设置

许多流行的 WordPress 主题都带有内置设置,用于自定义单个帖子模板的外观.

如果您的主题支持这些设置,那么您将能够在帖子编辑屏幕上找到它们.可用选项可能会根据您使用的主题而变化.

例如,这就是 Astra 主题在编辑单个帖子时提供自定义选项的方式.

Astra theme single post template customization

使用这些选项,您可以更改侧边栏、隐藏标题、标题、菜单等.

另一方面,许多顶级 WordPress 主题都带有可供您使用的即用型模板.

如果您的主题包含单个帖子模板,那么您可以在编辑帖子时在"帖子属性"选项卡下找到它们.

Choosing a template when writing a single post

这些模板是您可以使用的完整布局.

在 WordPress 中手动创建自定义单个帖子模板

此方法有点高级,因为它需要您编辑主题文件、复制和粘贴代码,并可选择添加自定义 CSS.

首先,您需要在您的计算机上打开一个纯文本编辑器,例如记事本,并将以下代码粘贴到其中:

<?php
/*
 * Template Name: Featured Article
 * Template Post Type: post, page, product
 */
 
 get_header();  ?>

此代码定义了一个名为 Featured Article 的新模板,并使其可用于帖子、页面和产品帖子类型.

您可以在桌面上将此文件另存为 wpb-single-post.php.

接下来,您需要使用 FTP 客户端将其上传到您当前的 WordPress 主题文件夹.

之后,您可以登录您的 WordPress 管理区域并创建或编辑帖子.在帖子编辑屏幕上向下滚动一点,您会注意到新的帖子属性元框,其中包含选择模板的选项.

Select your custom post template

您会在那里看到您的"精选文章"自定义模板.

现在您的模板基本上是空的,因此选择它只会显示一个白色屏幕.

让我们解决这个问题.

最简单的方法是从主题的 single.php 文件中复制代码并将其用作起点.

打开 single.php 文件,然后复制 get_header() 行之后的所有内容.

最后将此代码粘贴到您的 wpb-single-post.php 文件中.现在您可以保存此文件并将其上传回您的服务器.

但是,这看起来与您当前的单个帖子模板完全相同.您现在可以开始更改您的自定义单个帖子模板.

您可以添加自己的自定义 CSS 类、删除侧边栏、创建全角模板或任何您想要的内容.

根据类别创建自定义单个帖子模板

想要使用基于类别的自定义单个帖子模板吗?例如,旅游类帖子的布局可能与摄影类帖子的布局不同.

您可以这样做.

首先,您需要将此代码添加到主题的functions.php 文件或特定于站点的插件中.

/*
* Define a constant path to our single template folder
*/
define(SINGLE_PATH, TEMPLATEPATH.'/single');

/**
* Filter the single_template with our custom function
*/
add_filter('single_template', 'my_single_template');

/**
* Single template function which will choose our template
*/
function my_single_template($single) {
global $wp_query, $post;

/**
* Checks for single template by category
* Check by category slug and ID
*/
foreach((array)get_the_category() as $cat) :

if(file_exists(SINGLE_PATH.'/single-cat-'.$cat->slug.'.php'))
return SINGLE_PATH.'/single-cat-'.$cat->slug.'.php';

elseif(file_exists(SINGLE_PATH.'/single-cat-'.$cat->term_id.'.php'))
return SINGLE_PATH.'/single-cat-'.$cat->term_id.'.php';

endforeach;
}

此代码首先检查 WordPress 是否正在请求单个帖子.如果是,那么它会告诉 WordPress 在 WordPress 主题的/single/文件夹中查找模板.

现在您需要添加此代码定义的模板文件.

使用 FTP 客户端或 cPanel 中的文件管理器连接到您的 WordPress 主机,然后转到/wp-content/themes/your-theme-folder/.

在您当前的主题文件夹中,您需要创建一个名为"single"的新文件夹.

现在您需要打开此文件夹并在其中创建一个新文件.继续并将此文件命名为 single-cat-{category-slug}.将 {category-slug} 替换为您的实际类别 slug.

例如,如果您有一个名为"新闻"的类别,那么您将创建 single-cat-news.php 文件.如果您有一个名为"旅行提示"的类别,则创建一个模板 single-cat-travel-tips.php,依此类推.

Creating single post template for categories

现在,这些模板文件将完全为空.作为起点,您可以从主题文件夹中复制 single.php 文件的内容并将它们粘贴到每个模板中.

之后,您可以编辑这些模板以进行所需的更改.

完成后,您可以访问您的网站并查看帖子.它将使用您为提交此帖子的类别创建的模板.

现在假设您有一个帖子分为新闻和旅行提示两个类别.WordPress 将自动显示"新闻"模板,因为它按字母顺序首先出现.

另一方面,如果您在某个类别中提交了帖子并且没有为该类别创建模板,那么 WordPress 将回退到您主题的默认 single.php 模板.

为特定作者创建自定义单个帖子模板

假设您希望特定作者撰写的帖子在您的网站上看起来有所不同.您可以使用我们为类别展示的相同技术来做到这一点.

首先,您需要将此代码添加到主题的 functions.php 文件或特定于站点的插件中.

/**
* Define a constant path to our single template folder
*/
define(SINGLE_PATH, TEMPLATEPATH.'/single');

/**
* Filter the single_template with our custom function
*/
add_filter('single_template', 'my_single_author_template');

/**
* Single template function which will choose our template
*/
function my_single_author_template($single) {
global $wp_query, $post;

/**
* Checks for single template by author
* Check by user nicename and ID
*/
$curauth = get_userdata($wp_query->post->post_author);

if(file_exists(SINGLE_PATH.'/single-author-'.$curauth->user_nicename.'.php'))
return SINGLE_PATH.'/single-author-'.$curauth->user_nicename.'.php';

elseif(file_exists(SINGLE_PATH.'/single-author-'.$curauth->ID.'.php'))
return SINGLE_PATH.'/single-author-'.$curauth->ID.'.php';

}

接下来,您需要在 cPanel 中使用 FTP 或文件管理器连接到您的网站,然后转到/wp-content/themes/your-theme-folder/.

如果您尚未在其中创建名为/single/的文件夹,那么让我们现在继续创建它.

在此文件夹中,您需要使用模板名称中的作者用户名创建模板.例如,single-author-johnsmith.php.

此模板将为空,因此您可以复制并粘贴主题的 single.php 模板的内容并将其用作起点.

您现在可以访问您的网站以查看由特定作者创建的帖子.它现在将使用您创建的模板.

暂时就这些.

我们希望本文能帮助您了解如何在 WordPress 中创建自定义单篇文章模板.您可能还想查看我们的文章,了解如何在不编写任何代码的情况下从头开始创建自定义 WordPress 主题.

0
订阅评论
提醒
0 评论
内联反馈
查看所有评论