如何在 WordPress 中创建自定义单个帖子模板
已发表: 2022-09-01您想在 WordPress 中创建自定义的单个帖子模板吗?
自定义单个帖子模板允许您为各个博客帖子使用不同的布局。 许多 WordPress 主题都带有一些不同的页面模板,如果需要,您也可以创建自己的模板。
在本文中,我们将向您展示如何在 WordPress 中轻松创建自定义单个帖子模板。 我们将分享多种方法,因此您可以选择最适合您需求的一种。

您何时需要自定义单个帖子模板?
有时,您可能希望 WordPress 网站上的某些帖子具有不同的外观和感觉。 例如,您可能希望对特定类别中的特色文章或故事使用不同的布局。
这是您需要在 WordPress 中自定义单个帖子模板的地方。
默认情况下,WordPress 使用基于 WordPress 模板层次结构的单个帖子模板。 所有主题都带有一个 single.php 模板,默认情况下,这将用于您的所有单个帖子。
某些主题还可能包含您可以使用的其他模板或布局选择。
这与创建自定义页面模板非常相似。 大多数 WordPress 主题还附带页面模板,您可以在 WordPress 中编辑帖子或页面时使用这些模板。

话虽如此,让我们看看如何在 WordPress 中轻松创建自定义单篇文章模板。 我们将向您展示多种方法,以便您使用最适合您的一种。
- 使用块编辑器创建单个帖子模板
- 使用 SeedProd 创建自定义单个帖子模板
- 使用主题设置创建单个帖子布局
- 使用代码手动创建自定义单个帖子模板
- 按类别创建自定义单个帖子模板
- 为特定作者创建自定义单个帖子模板
使用块编辑器创建单个帖子模板
这种方法并没有真正创建帖子模板,并且灵活性有限。 但是,这是保存您自己的单个帖子布局然后重复使用它们的最简单方法。
默认的 WordPress 块编辑器带有一个内置功能,允许您保存和重用块。 一个这样的可重用块是组块。
组块允许您将多个块和整个帖子布局放入一个组中。 然后,您可以保存此组块并在您的其他帖子中重复使用它。
让我们看看如何使用组块来保存您的自定义帖子模板。
首先,您需要在 WordPress 中创建一个新帖子。 之后,只需将组块添加到内容区域。

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

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

接下来,您需要为可重用块提供名称,然后单击“保存”按钮。 WordPress 现在将保存您的可重用块,包括组块内的所有块。
然后,您可以编辑您网站上的任何现有帖子或创建一个新帖子。 在帖子编辑屏幕上,只需单击添加新块按钮,然后在“可重复使用”选项卡下查找您保存的块。

将块添加到您的帖子中,WordPress 将在您保存它们时加载您的整个组块以及所有块和设置。
此方法允许您保存自定义布局。 但是,它不允许您更改主题处理单个帖子的方式。
如果您想要更大的灵活性,请继续阅读下一步。
使用 SeedProd 创建自定义单个帖子模板
创建自定义单个帖子模板的最简单方法是使用 SeedProd。 它是最好的 WordPress 网站构建器插件,无需编写任何代码即可创建漂亮的网站布局和自定义模板。
您可以使用 SeedProd 的拖放构建器来创建完全自定义的 WordPress 主题,包括自定义单个帖子模板。
您需要做的第一件事是安装并激活 SeedProd 插件。 有关更多详细信息,请参阅我们关于如何安装 WordPress 插件的分步指南。
激活后,您需要输入您的许可证密钥。 您可以在 SeedProd 网站上的帐户下找到此信息。

之后,是时候创建一个自定义的 WordPress 主题了。 这比听起来要简单得多。
创建自定义 WordPress 主题
首先,您需要前往SeedProd » Theme Builder页面。 在这里,您将使用 SeedProd 的现成主题之一作为起点。 这将用新的自定义设计替换您现有的 WordPress 主题。
您可以通过单击“主题”按钮来做到这一点。

您将看到专为不同类型网站设计的专业设计主题列表。 例如,有名为“Modern Business”、“Marketing Agency”和“Mortgage Broker Theme”的模板。
查看选项并通过单击复选标记图标选择最符合您需求的选项。

一旦您选择了一个主题,SeedProd 将生成您需要的所有主题模板,包括一个用于单个页面和另一个用于单个帖子。
每个模板都设置了有吸引力的布局和易于定制的占位符内容。

要了解有关使用 SeedProd 创建主题的更多信息,请参阅我们的指南,了解如何在没有任何代码的情况下轻松创建自定义 WordPress 主题。
自定义默认单个帖子模板
SeedProd 使用拖放页面构建器可以轻松自定义默认的“单篇文章”模板。
只需单击模板下的“编辑设计”链接。 这将在 SeedProd 的可视化编辑器中打开您的帖子模板。

SeedProd 的可视化编辑器有 2 列布局。 在左侧,您会找到可以添加到设计中的块和部分。 右侧是模板预览,您可以在其中实时查看更改。

自定义帖子模板的布局也很容易。 只需单击任何块即可在左栏中查看其设置。
例如,如果您单击帖子标题,那么您将能够看到其设置。 现在您可以更改对齐方式、字体大小、标题级别等。

单击“高级”选项卡可以更改字体颜色、间距和其他样式。
您可以通过将其他块从左列拖到预览列中来添加它们。 SeedProd 使用模板标签来提取动态内容,如帖子标题、特色图片、评论等。 这使您可以将内容添加到模板,而无需单独编辑每个帖子。
例如,您可以在帖子内容的末尾添加一个帖子块。 这将显示您的访问者在完成当前帖子后可能希望阅读的最新帖子。 此块将自动显示在使用此模板的所有帖子上。

接下来,您可以更改帖子块的设置以自定义显示的内容。
例如,您可以显示特定类别的内容、使用两列布局以及更改显示的帖子数量。

随意花时间尝试不同的块并探索它们的设置。
创建您想用作帖子模板的内容后,是时候通过单击右上角的绿色“保存”按钮来保存它了。 之后,您可以通过单击“X”关闭图标来关闭 SeedProd 可视化编辑器。

您可以以相同的方式自定义 WordPress 主题的其余部分。 但是,如果您需要一点帮助,请参阅我们的分步指南,了解如何使用 SeedProd 创建自定义 WordPress 主题。
当您对所有外观感到满意时,请确保将“启用 SeedProd 主题”开关切换到打开位置。 您的 WordPress 网站现在将使用您的 SeedProd 主题和自定义单个帖子模板。

使用主题设置创建自定义单个帖子布局
许多流行的 WordPress 主题都带有内置设置,可以自定义单个帖子模板的外观。
如果您的主题支持这些设置,那么您将能够在帖子编辑屏幕上找到它们。 可用选项可能会因您使用的主题而异。
例如,Astra 主题在编辑单个帖子时提供自定义选项。 使用这些选项,您可以更改边栏、隐藏标题、标题、菜单等。

另一方面,许多顶级 WordPress 主题都带有可供您使用的现成模板。

如果您的主题包含单个帖子模板,那么您将在编辑帖子时在“模板”或“帖子属性”面板下找到它们。

这些模板是完整的布局,您无需配置即可使用。
使用代码手动创建自定义单个帖子模板
这种方法有点高级,因为它需要您编辑主题文件、复制和粘贴代码,并可选择添加自定义 CSS。 如果您以前没有这样做过,请查看我们的教程,了解如何在 WordPress 中复制和粘贴代码。
首先,您需要在您的计算机上打开一个纯文本编辑器,例如记事本,然后在其中粘贴以下代码:
<?php
/*
* Template Name: Featured Article
* Template Post Type: post, page, product
*/
get_header(); ?>
此代码定义了一个名为“精选文章”的新模板,并使其可用于帖子、页面和产品帖子类型。
您应该将此文件保存为桌面上的wpb-single-post.php
。 接下来,您需要将模板添加到您的 WordPress 网站。 为此,您需要使用 FTP 客户端将文件上传到您当前的主题文件夹。
现在您可以登录到您的 WordPress 管理区域并创建或编辑帖子。 在帖子编辑屏幕上向下滚动一点,您会注意到一个新的“模板”面板或“帖子属性”元框,其中包含选择模板的选项。

您将在此处看到您的“精选文章”自定义模板。
现在你的模板基本上是空的,所以选择它只会显示一个白屏。
让我们解决这个问题。
最简单的方法是从主题的 single.php 文件中复制代码并将其用作起点。 您必须打开 single.php 文件,然后复制get_header()
行之后的所有内容。
接下来,您需要将此代码粘贴到wpb-single-post.php
文件的末尾。 现在您可以保存此文件并将其上传回您的服务器。
但是,这看起来与您当前的单个帖子模板完全相同。 您现在可以开始更改您的自定义单个帖子模板。
您可以添加自己的自定义 CSS 类、删除边栏、创建全宽模板或任何您想要的。
按类别创建自定义单个帖子模板
您想使用基于类别的自定义单个帖子模板吗? 例如,您可以为旅行类别中的帖子提供与摄影类别中的帖子不同的布局。
您可以使用 SeedProd Theme Builder 或代码来做到这一点。
使用 SeedProd 按类别创建自定义单个帖子模板
之前我们介绍了如何自定义 SeedProd Theme Builder 的默认单个帖子模板。 但它并不止于此。 使用 SeedProd,您可以添加任意数量的自定义帖子模板,例如每个帖子类别的不同布局。
要添加新的单个帖子模板,只需单击原始帖子模板下的“复制”链接。 将创建一个名为“Single Post – Copy”的新模板并将其添加到主题模板页面的顶部。

您可以按照与之前自定义默认 Single Post 模板相同的方式自定义新模板。 只需单击模板的“编辑设计”链接,然后使用 SeedProd 的可视化编辑器进行任何您喜欢的更改。
完成自定义模板后,您需要添加一些条件,以便 SeedProd 知道哪些帖子应该使用此模板。 在这种情况下,我们希望它在查看单个类别中的帖子时显示。

您可以通过单击模板的“编辑条件”链接来执行此操作,然后会弹出一个新窗口。
您可以在此处为模板指定名称和优先级。 默认的 Single Post 模板的优先级为 0,因此请确保为该模板提供更高的优先级,以便它显示在匹配的类别中。

在“条件”下,从第二个下拉菜单中选择“有类别”,然后在最后一个字段中输入类别的名称。 例如,如果您只希望摄影类别中的帖子使用此布局,请输入“摄影”。
完成后,单击“保存”按钮,现在此模板将用于匹配类别中的所有帖子。
这是在 WordPress 中创建多个自定义帖子模板的最简单方法。 它不需要任何代码知识,也不会意外弄乱任何主题文件。
使用代码按类别创建自定义单个帖子模板
对于那些喜欢将代码添加到主题文件的人来说,这是另一种方法。
首先,您需要将此代码添加到主题的 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
文件。 如果您有一个名为“Travel Tips”的类别,则创建一个模板single-cat-travel-tips.php
,依此类推。

现在,这些模板文件将完全是空的。 作为起点,您可以从主题文件夹中复制 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 或 cPanel 文件管理器连接到您的网站,然后转到/wp-content/themes/your-theme-folder/
。 如果您尚未在其中创建名为 /single/ 的文件夹,请立即创建它。
在此文件夹中,您需要使用模板名称中的作者用户名创建一个模板。 例如, single-author-johnsmith.php
。
此模板将为空,因此您可以复制并粘贴主题的 single.php 模板的内容并将其用作起点。
您现在可以访问您的网站以查看由特定作者创建的帖子。 它将使用您创建的模板。
我们希望本文能帮助您了解如何在 WordPress 中创建自定义单篇文章模板。 您可能还想了解如何跟踪访问您的 WordPress 网站的网站访问者,或查看我们的必须拥有 WordPress 插件以发展您的网站的列表。
如果您喜欢这篇文章,请订阅我们的 YouTube 频道以获取 WordPress 视频教程。 您也可以在 Twitter 和 Facebook 上找到我们。
如何在 WordPress 中创建自定义单个帖子模板的帖子首次出现在 WPBeginner 上。