建站教程

建站教程

Products

当前位置:首页 > 建站教程 >

如何以任何顺序排列 WordPress 帖子

GG网络技术分享 2025-03-18 16:05 0


您是否尝试过更改网站博客页面上帖子的标准顺序? 默认情况下,帖子是根据每篇帖子的发布日期排序的,并且没有内置方法可以更改帖子出现的顺序。

如果您确实想更改帖子顺序,您有三个选择:更改帖子发布日期,编写一些代码以使用发布日期以外的参数对帖子进行排序,或者找到一个可以为您完成这项工作的插件。

对于许多博客来说,更改发布日期并不是一个可行的选择。 因此,在本文中,我们将研究列表中的第二个和第三个选项。 首先,我将向您展示如何构建自定义插件来实现自定义发布顺序。 其次,我们将看看 WordPress 插件目录中提供的两个插件,它们可用于创建自定义发布订单。

  • 必备知识
  • 构建您自己的自定义邮政订单插件

    • 设置自定义字段
    • 在管理员中显示自定义字段
    • 充分利用自定义邮政订单

      • 用自定义排序列表替换博客页面上的帖子
      • 创建自定义排序帖子的精选列表
      • 将排序后的帖子添加到博客帖子列表的顶部
  • 完成工作的插件
  • 结论

必备知识

这篇文章假设您具有一定程度的 WordPress 编程知识。 如果您以前从未创建过简单的插件或页面模板,那么您将很难跟进。 如果您确实难以理解,以下帖子将帮助您了解理解本教程中的材料所需了解的内容:

  • 在 WordPress 中创建自定义页面模板
  • 如何创建 WordPress 插件
  • 征服 WP_Query 的深入指南

如果您对构建自定义插件不感兴趣,您可以跳到 WordPress 插件目录中可用的插件列表,这会使该过程变得更加容易。

此外,我已将本教程中的所有代码提取到 GitHub 存储库中。 如果您想看看成品应该是什么样子,您可以从 GitHub 查看和下载所有代码。

构建您自己的自定义邮政订单插件

实施自定义发布订单有两个主要步骤:

  1. 向帖子添加自定义字段,可用作对帖子进行排序的基础。
  2. 通过修改主 WordPress 循环或构建自定义循环并将其添加到侧边栏小部件或自定义页面模板来实现自定义排序顺序。

让我们首先在 WordPress 帖子编辑屏幕中添加一个自定义字段。 但是,在此之前,您需要启动 WordPress 开发环境,创建一个新的插件文件夹,并在该文件夹中创建一个插件文件。 如果你想看看我的插件的结构是什么样的,你可以在 GitHub 上看到成品。

设置自定义字段

虽然你可以只使用 自定义字段 在帖子编辑屏幕中的元框为每个帖子添加自定义元数据,我更喜欢在后端添加一个自定义元框和字段。 这样,您就不会意外地将元数据分配给错误的字段。

将自定义元框添加到后端的第一步是创建元框并将其添加到帖子编辑屏幕。

加载要点 9fe0c1c71a61d97293b6a1226bd7f1d0

添加到插件文件中的那段代码将创建自定义元框。

你会注意到上面代码中的回调函数是 'jpen_custom_post_order'. 接下来让我们创建该函数并将其添加到我们的插件文件中。 它将向我们刚刚创建的元框添加一个字段。

加载要点 97f2676a7ab1cecb16ae9f7da5f6a11c

那段代码从设置一个随机数开始。 接下来,代码创建一个名为 $current_pos 并将当前后排序顺序的值分配给该变量。 接下来,两个段落元素创建元框字段的可见内容,如果当前值存在,则当前值回显到该字段中。 这是盒子的样子:

帖子编辑屏幕上自定义排序顺序框的屏幕截图

最后,我们需要将用户输入存储到数据库中。 我们可以通过将这段代码添加到我们的插件中来做到这一点:

加载要点 7687e962c9aced9d8f4cf2520731d711

该代码首先检查以确保已设置随机数并且用户有权更改帖子。 如果一切顺利,则帖子元数据将使用新的自定义帖子订单值进行更新。

在管理员中显示自定义字段

在上一节中,我们在帖子编辑屏幕中添加了一个自定义元框,并将其编程为存储一个数值。 稍后,我们将使用该数值来创建自定义发布订单。 然而,在我们开始之前,我们还有另一个问题需要解决。

就目前而言,要查看当前的帖子排序顺序值,我们必须打开每个帖子并查看我们刚刚添加到帖子编辑屏幕的自定义元框。 那不是很方便。 让我们将自定义排序顺序值添加到管理员帖子列表中,以便我们可以快速查看分配给每个帖子的当前帖子顺序值。

首先,我们需要在管理区域的帖子列表中添加一个自定义列。 我们可以通过将这段代码添加到我们的插件中来做到这一点:

加载要点 6fe100e61b88e608bb9bd72270f6698c

接下来,我们需要为每个帖子提取自定义帖子订单值并将其列在新列中。 这并不太难,我们可以通过将这个函数添加到我们的插件文件中来做到这一点:

加载要点 74a8f978d11efb0c12c6e43cf7f820f3

伟大的。 现在,当我们在后台访问博客文章列表时,我们可以轻松查看哪些文章已被分配了自定义排序顺序值。

当我们在管理区域查看博客文章列表时,情况如下:

添加职位的帖子列表

充分利用自定义邮政订单

现在我们已经可以为帖子分配自定义订单,是时候充分利用该自定义订单了。 但是,在我们这样做之前,我们必须回答这个问题:“我们要如何使用自定义排序顺序?”

您可能希望通过几种不同的方式来实现自定义排序。 这里有一些想法:

  • 将您的所有帖子按自定义顺序排序,并在您的博客帖子页面上显示自定义排序列表。 您可能不想在繁忙的博客上执行此操作,但如果您使用 WordPress 托管一系列指导性帖子并且不经常添加新帖子,那么这可能是按任何顺序对帖子进行排序的一种有价值的方式。
  • 创建一个精选的帖子列表,并使用自定义页面模板按照您选择的顺序显示它们。 例如,您可以整理列表以仅包含也属于特定类别的帖子,然后将它们按您希望的任何顺序排序。
  • 创建一个博客文章列表,该列表以一些自定义排序的文章开头,然后按照标准顺序包含所有其余文章。

真的,天空才是极限。 如果您可以想出自定义排序顺序的用途,并且可以弄清楚如何实现您的想法,那么这是一个可行的想法。 让我们快速浏览一下上面的三个想法,以便您了解每个想法是如何实现的。

用自定义排序列表替换博客页面上的帖子

使用自定义排序顺序的最简单方法是将站点博客页面上的标准帖子列表替换为自定义排序的帖子列表。 为此,您需要做的就是将以下函数放入您的插件中:

加载要点 02c05a487aa0b302bff101d43d9e533f

请记住,此功能只会显示已分配自定义排序顺序值的帖子。 任何未分配自定义排序顺序值的帖子都不会显示在您的博客页面上。 换句话说,如果您这样做,您将不得不为您希望看到的每个帖子分配一个自定义排序顺序值。

创建自定义排序帖子的精选列表

创建自定义排序帖子的精选列表将需要使用 WP_Query 班级。 您需要做的是创建一个查询,其中包含您希望用于管理列表的参数,然后还将自定义排序顺序添加到查询中。 这可能是这样的:

加载要点 9fd1ede18ae87ac217580a71bc0a290d

此查询将首先查找属于 ID 为 94 的类别的帖子。接下来,它将仅挑选那些已分配自定义帖子顺序值的帖子。 最后,它将按自定义帖子顺序值对帖子进行排序。

可以将此查询放入自定义页面模板或添加到自定义侧边栏小部件以显示查询的帖子。

将排序后的帖子添加到博客帖子列表的顶部

另一种选择是将自定义排序的帖子添加到博客帖子列表的顶部,然后按照自定义排序的帖子,其余的博客帖子以他们通常的方式排序。 这样做有点复杂,需要您使用 WP_Query 班级。

第一个查询将获取自定义排序的帖子并根据其自定义订单值显示它们。 但是,我们只希望自定义排序的帖子列表出现在博客的第一页,所以我们必须将整个第一个查询包装在一个 if 语句中,以测试我们是否在博客的第一页帖子。

第二个查询将抓取所有帖子并以通常的方式对其进行排序,但会跳过任何已分配自定义排序顺序值的帖子。 此外,为了能够对第二个查询提取的帖子进行分页,我们必须对全局执行一些技巧 $wp_query 多变的。

这是我们可以组合两个查询以产生所需结果的一种方法:

加载要点 3f29e43d908038080edfbdc40f08bf3f

您可以通过三个步骤使用该组查询来替换博客页面上的标准查询:

  1. 创建一个 主页.php 文件作为父主题的副本 索引.php.
  2. 删除这些查询以替换内容循环。
  3. 上传新的 主页.php 到您的子主题的根目录。

按照这些步骤,当博客页面显示新 主页.php 将用作页面模板。

完成工作的插件

如果您不是开发人员或不需要自定义编码解决方案的灵活性,可以从 WordPress 插件目录中获得几个插件,使帖子排序变得容易。 但是,许多可用选项的支持很差,并且不定期更新。 让我们看一下各自开发人员积极支持并收到频繁更新的两个选项。

  • 帖子类型顺序

    来自 wp.org 的帖子类型订单插件的屏幕截图

    帖子类型订单在 400,000 多个站点上处于活动状态,并定期更新,并且开发人员积极处理发布在 WordPress 插件目录中的支持请求。 所有这一切意味着该插件已经成功地在 150 多个用户评论的基础上保留了 4.6 星(满分 5 星)的评级。

    该插件可用于创建自定义类型的帖子和自定义帖子类型。 要使用该插件,请安装并激活它,然后访问设置页面,该页面位于 设置 > 帖子类型顺序. 接下来,访问您希望排序的帖子的管理员列表,只需将帖子拖放到您希望在网站前端显示的顺序即可。 下次您访问网站前端的任何帖子列表时,您会看到帖子的顺序已更新为与管理员列表中的顺序相匹配。

    对帖子类型顺序感兴趣?

    下载
  • 手动订购您的帖子

    从 wp.org 手动订购帖子插件的屏幕截图

    手动订购您的帖子在少于 1,000 个 WordPress 网站上处于活动状态。 但是,它的用户评分为 4.6 颗星(满分 5 颗星),开发人员致力于解决发布到 WordPress 插件目录的每个支持请求。 总而言之,这使它成为一个值得考虑的插件。

    要使用该插件,请安装、激活它,然后转到 设置 > 手动订购您的帖子. 配置几个选项,然后点击 订购我的帖子. 单击该按钮将带您到 工具 > 手动订购您的帖子 并生成所有帖子的列表。 只需将您的帖子拖放到您希望看到它们显示的顺序,然后单击 保存更改.

    有兴趣手动订购您的帖子吗?

    下载

结论

如果您想按特定顺序显示帖子,您有几个不同的选项。 最灵活的选择是构建自己的插件,然后手动实现自定义排序。 但是,如果无法开发自定义解决方案,您可以使用 WordPress 目录中易于使用的插件来完成工作。

标签:

标签: WordPress op

提交需求或反馈

Demand feedback