什么时候需要自定义单个帖子模板?
有时,您可能希望 的某些帖子具有不同的外观和感觉。例如,您可能希望对特定类别中的特色文章或故事使用不同的布局。
这是您需要在 WordPress 中自定义单个帖子模板的地方。
默认情况下,WordPress 使用基于 的单个帖子模板。所有主题都带有一个 .php 模板,默认情况下,该模板用于所有单个帖子。
某些主题可能还包含您可以使用的其他模板或布局选项。
这与非常相似。大多数 WordPress 主题还带有页面模板,您可以在 WordPress 中编辑帖子或页面时使用这些模板。
使用块编辑器创建单个帖子模板
此方法不会真正创建帖子模板,并且灵活性有限。但是,这是保存您自己的单个帖子布局然后重复使用它们的最简单方法。
默认的 带有一个内置功能,允许您保存和重用块。一个这样的可重用块是组块。
组块允许您将多个块和整个帖子布局放入一个组中。然后,您可以保存此群组块,并在其他帖子中重复使用它。
让我们来看看如何使用组块来保存您的自定义帖子模板。
首先,您需要在 WordPress 中创建一个新帖子。之后,只需将组块添加到内容区域即可。
现在,您可以开始将块添加到组块中,以为您的创建单个帖子布局。
您可以添加所需的任何块,包括列、媒体和文本、封面图像等。
一旦您对创建的布局感到满意,您需要抬起鼠标并选择组块。
只需单击三点菜单图标,然后选择“添加到可重用块”选项。
接下来,您需要为可重用块提供一个名称,然后单击“保存”按钮。WordPress 现在将保存您的可重用块,包括组块内的所有块。
然后,您可以编辑网站上的任何现有帖子或创建一个新帖子。在帖子编辑屏幕上,只需单击“添加新块”按钮,然后在“可重复使用”选项卡下查找已保存的块。
将该块添加到您的帖子中,WordPress 将在您保存它们时加载您的整个组块以及所有块和设置。
此方法允许您保存自定义布局。但是,它不允许您更改主题处理单个帖子的方式。
如果您想要更大的灵活性,请继续阅读下一步。
使用 SeedProd 创建自定义单篇文章模板
创建自定义单个帖子模板的最简单方法是使用 。它是最好的 WordPress 网站构建器插件,无需编写任何代码即可创建漂亮的网站布局和自定义模板。
您可以使用 SeedProd 的拖放构建器创建完全自定义的 WordPress 主题,包括自定义单篇文章模板。
您需要做的第一件事是安装并激活 插件。
激活后,您需要输入您的许可证密钥。您可以在 SeedProd 网站上的帐户下找到此信息。
之后,是时候创建一个自定义的 WordPress 主题了。这比听起来要简单得多。
创建自定义 WordPress 主题
首先,您需要前往 SeedProd » Theme Builder 页面。在这里,您将使用 SeedProd 的现成主题之一作为起点。这将用新的自定义设计替换您现有的 WordPress 主题。
您可以通过单击“主题”按钮来执行此操作。
您将看到一个专为不同类型的网站设计的专业设计主题列表。例如,有名为“现代商业”、“营销机构”和“抵押贷款经纪人主题”的模板。
浏览选项,然后单击复选标记图标选择最符合您需求的选项。
选择主题后,SeedProd 将生成您需要的所有主题模板,包括一个用于单个页面,另一个用于单个帖子。
每个模板都设置了有吸引力的布局和易于自定义的占位符内容。
自定义默认单篇文章模板
SeedProd 可以使用拖放页面构建器轻松自定义默认的“单篇文章”模板。
只需单击模板下的“编辑设计”链接即可。这将在 SeedProd 的可视化编辑器中打开您的帖子模板。
SeedProd 的可视化编辑器具有 2 列布局。在左侧,您可以找到可以添加到设计中的块和部分。右侧是模板的预览,您可以在其中实时查看更改。
自定义帖子模板的布局也很容易。只需单击任何块即可在左栏中查看其设置。
例如,如果您单击帖子标题,您将能够看到其设置。现在,您可以更改对齐方式、字体大小、标题级别等。
单击“高级”选项卡可以更改字体颜色、间距和其他样式。
您可以通过将其他块从左列拖动到预览列中来添加它们。SeedProd 使用模板标签来提取动态内容,例如帖子标题、特色图片、评论等。这使您可以将内容添加到模板中,而无需单独编辑每个帖子。
例如,您可以在帖子内容的末尾添加帖子块。这将显示您的访问者在完成当前帖子时可能希望阅读的最新帖子。此块将自动显示在使用此模板的所有帖子上。
接下来,您可以更改“帖子”块的设置以自定义显示的内容。
例如,您可以显示特定类别的内容,使用两列布局,并更改显示的帖子数量。
随意花时间尝试不同的方块并探索它们的设置。
创建要用作帖子模板的内容后,单击右上角的绿色“保存”按钮即可保存它。之后,您可以通过单击“X”关闭图标来关闭 SeedProd 可视化编辑器。
您可以以相同的方式自定义 WordPress 主题的其余部分。
当您对一切外观感到满意时,请确保将“启用 SeedProd 主题”开关切换到打开位置。您的 WordPress 网站现在将使用您的 SeedProd 主题和自定义单个帖子模板。
使用主题设置创建自定义单篇文章布局
许多流行的 WordPress 主题都带有内置设置,用于自定义单个帖子模板的外观。
如果您的主题支持这些设置,那么您将能够在帖子编辑屏幕上找到它们。可用的选项可能会根据您使用的主题而变化。
例如,在编辑单个帖子时提供自定义选项。使用这些选项,您可以更改边栏、隐藏标题、标题、菜单等。
另一方面,许多都带有您可以使用的现成模板。
如果您的主题包含单个帖子模板,那么您将在编辑帖子时在“模板”或“帖子属性”面板下找到它们。
这些模板是完整的布局,无需配置即可使用。
使用代码手动创建自定义单篇文章模板
此方法有点高级,因为它需要您编辑主题文件、复制和粘贴代码以及选择性地添加自定义 CSS。
首先,您需要在计算机上打开一个纯文本编辑器(如记事本),并在其中粘贴以下代码:
<?php``/*`` ``* Template Name: Featured Article`` ``* Template Post Type: post, page, product`` ``*/`` ` ` ``get_header(); ?>
此代码定义了一个名为“特色文章”的新模板,并使其可用于帖子、页面和产品。
您应该将此文件保存在桌面上。接下来,您需要将模板添加到您的 WordPress 网站。为此,您需要将文件上传到当前主题文件夹。wpb-single-post.php
现在,您可以登录WordPress管理区域并创建或编辑帖子。在帖子编辑屏幕上向下滚动一点,您会注意到一个新的“模板”面板或“帖子属性”元框,其中包含选择模板的选项。
您将看到您的“精选文章”自定义模板列在那里。
现在您的模板基本上是空的,因此选择它只会显示一个白屏。
让我们解决这个问题。
最简单的方法是从主题的 single.php 文件中复制代码并将其用作起点。您必须打开单个 .php 文件,然后复制该行之后的所有内容。get_header()
接下来,您需要将此代码粘贴到文件末尾。现在,您可以保存此文件并将其上传回服务器。wpb-single-post.php
但是,这看起来与您当前的单个帖子模板完全相同。您现在可以开始对自定义单个帖子模板进行更改。
您可以添加自己的 类、、创建模板或任何您想要的内容。
按类别创建自定义单篇文章模板
您想使用基于类别的自定义单个帖子模板吗?例如,您可以为旅行类别中的帖子提供与摄影类别中的帖子不同的布局。
您可以使用 SeedProd 主题生成器或代码来执行此操作。
使用 SeedProd 按类别创建自定义单篇文章模板
之前我们介绍了如何自定义 主题生成器的默认单篇文章模板。但它并不止于此。使用 SeedProd,您可以根据需要添加任意数量的自定义帖子模板,例如每个帖子类别的不同布局。
要添加新的单个帖子模板,只需单击原始帖子模板下的“复制”链接即可。将创建一个名为“单篇文章 - 复制”的新模板,并将其添加到主题模板页面的顶部。
您可以按照之前自定义默认 Single Post 模板的相同方式自定义新模板。只需单击模板的“编辑设计”链接,然后使用 SeedProd 的可视化编辑器进行您喜欢的任何更改。
完成模板自定义后,您需要添加一些条件,以便 SeedProd 知道哪些帖子应该使用此模板。在这种情况下,我们希望在查看单个类别中的帖子时显示它。
您可以通过单击模板的“编辑条件”链接来执行此操作,然后会弹出一个新窗口。
在这里,您可以为模板指定名称和优先级。默认的 Single Post 模板的优先级为 0,因此请确保为此模板设置更高的优先级,以便它显示在匹配的类别上。
在“条件”下,从第二个下拉菜单中选择“具有类别”,然后在最后一个字段中输入类别的名称。例如,如果您只想让摄影类别的帖子使用此布局,请键入“摄影”。
完成后,单击“保存”按钮,现在此模板将用于匹配类别中的所有帖子。
这是在 WordPress 中创建多个自定义帖子模板的最简单方法。它不需要任何代码知识,也不会意外弄乱任何主题文件。
使用代码按类别创建自定义单篇文章模板
对于那些喜欢将代码添加到主题文件的人来说,这是另一种方法。
首先,您需要将此代码添加到主题的 文件或中。
/*``* 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/
现在,您需要添加此代码定义的模板文件。
使用中的文件管理器连接到,然后转到。/wp-content/themes/your-theme-folder/
在您当前的主题文件夹中,您需要创建一个名为“single”的新文件夹。接下来,您需要打开此文件夹并在其中创建一个新文件。继续并将此文件命名为 。将 {category-slug} 替换为实际的类别 slug。single-cat-{category-slug}
例如,如果您有一个名为“新闻”的类别,那么您将创建文件。如果您有一个名为“旅行提示”的类别,请创建一个模板,依此类推。single-cat-news.php``single-cat-travel-tips.php
现在,这些模板文件将完全为空。首先,您可以从主题文件夹中复制单个 .php 文件的内容,并将它们粘贴到每个模板中。之后,您需要编辑这些模板以进行所需的更改。
完成后,您可以访问您的网站并查看帖子。它将使用您为提交此帖子的类别创建的模板。
现在,假设您有一篇分为两类的帖子:新闻和旅行提示。WordPress 将自动显示“新闻”模板,因为它按字母顺序首先出现。
另一方面,如果您在某个类别中提交了帖子并且没有为该类别创建模板,那么 WordPress 将回退到主题的默认 single.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文件管理器连接到您的网站,然后转到。如果您尚未在其中创建名为 /single/ 的文件夹,请立即继续创建它。/wp-content/themes/your-theme-folder/
在此文件夹中,您需要在模板名称中使用作者的用户名创建模板。例如。single-author-johnsmith.php
此模板将为空,因此您可以复制并粘贴主题的 single.php 模板的内容并将其用作起点。
您现在可以访问您的网站以查看特定作者创建的帖子。它将使用您创建的模板。
我们希望本文能帮助您学习如何在 WordPress 中创建自定义单个帖子模板。