建站教程

建站教程

Products

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

如何在 WordPress 管理员中显示帖子和页面 ID

GG网络技术分享 2025-03-18 16:06 12


不时地知道WordPress中的帖子或页面的ID会很方便,对吧?

无论是用于简码,在主题设置中进行设置时,还是只是为了获得快速链接。

不管是什么情况,WordPress 都不容易找出帖子的 ID。 获取它的一种方法是访问帖子的编辑页面并查看 URL。 它应该看起来像这样:

https://yourwebsite.com/wp-admin/post.php?post=137171&action=edit

137171 在上面的示例中是帖子的 ID - 数据库中的主要标识符。 肯定有更简单的方法来解决这个问题,对吧? 幸运的是,有。

  • 使用插件显示帖子 ID
  • DIY:使用代码显示帖子 ID

    • 添加自定义列
    • 找到正确的钩子
    • 将身份证放在前面
  • 结论

使用插件显示帖子 ID

最简单的解决方案是使用插件。 祖父是 Reveal IDs,这是一个免费插件,下载量刚刚超过 425,000 次。

另一个新选项是 WPsite Show IDs。

这两个插件做的事情几乎相同:显示帖子、页面、用户、类别、自定义分类法、自定义帖子类型等的 ID。 我倾向于 WPsite Show ID 的唯一原因是 8Kb 的占用空间。 Reveal Ids 大约 311Kb,对于这样一个简单的插件来说似乎有点过分。

DIY:使用代码显示帖子 ID

如果您对如何自己显示帖子 ID 感兴趣,让我们看一下代码。

下面的代码应该放在插件或主题的函数文件中。 如果您想创建一个插件,请查看我们的插件开发指南以获得一个简单的模板。

在我们开始之前,还值得一提的是,您应该创建一个子主题。 如果您还不熟悉如何创建儿童主题,请查看我们的儿童主题指南。

添加自定义列

WordPress 提供了很好的工具来修改管理员帖子列表,包括创建您自己的列和内容。 我们需要使用过滤器来添加列和操作来添加值。 让我们对常规帖子表进行快速测试:

加载要点 8e8183e694b674638830e23505fe0377

这就是我们所需要的。 过滤器允许我们通过修改列数组来添加列。 数组键应该是列的标识符,值将显示为标题文本。

与动作挂钩的函数有两个参数:显示帖子的列名和 id。 这是完美的——我们确保在显示我们的自定义列时简单地回显 ID。

“显示”功能是我的双关语尝试,对此感到抱歉! 它是我们所有函数的前缀,以确保它们不会与其他插件发生冲突。

快速旁白:注意我是如何使用的 'revealid_id' == $column,这似乎有点陌生。 这称为尤达条件,在 WordPress 中是首选条件。 原因是如果您忘记定义变量,您的页面上不会出现巨大的 PHP 错误。

找到正确的钩子

上面的两个函数就是我们所需要的。 剩下的一块拼图是 在哪里 将它们挂钩。我们使用的挂钩仅针对常规帖子,我们的 ID 不会显示在页面或其他元素中。

实际上,这些钩子被称为 可变挂钩 因为它们属于标准化集合。 常见的形式是: manage_[post_type_or_element]_columnsmanage_[post_type_or_element]_custom_column.

基于此,帖子、页面、媒体和自定义帖子类型应该很容易,因为这些都是帖子类型。 要为所有这些元素显示 ID,您可以使用以下钩子:

加载要点 f5d3a74815180d6caae226de135a8421

这里有一个小警告:除了帖子和页面之外的所有内容都使用帖子类型。 帖子的帖子类型在技术上是“帖子”,页面的帖子类型是“页面”。 由于某种原因,钩子使用复数形式。 这是一个 WordPress 怪癖,因为它确实应该是单数形式。 看,即使是 WordPress 核心也不完美。

我在那里添加了一个自定义帖子类型:项目。 如果您想将此应用于 全部 自定义帖子类型? 在这种情况下,您可以像这样轻松地循环所有这些:

加载要点 fa188e0650ab09cc1acb796165d88864

在处理分类法时,我建议使用相同的方法。 要仅输出类别的 ID,您可以使用 manage_edit-link-categories_columnsmanage_link_categories_custom_column 但是要将其添加到所有分类法中,我们需要使用另一个循环:

加载要点 6d2ebe47188e8599eb3b0fe3527d4860

最后但同样重要的是,我们有用户和评论。 这些也相当简单。 看一看:

加载要点 96c1e364e6f29421d38595c509b53536

将身份证放在前面

这个小小的改变比看起来要困难一些。 当我们添加 ID 列时,我们将其附加到包含所有其他列的现有数组的末尾。 解决方案似乎很简单:将其添加到前面。 我们可以通过合并数组来做到这一点,但事实证明复选框是第一列——我们实际上希望 ID 排在第二位。

我们仍将使用数组合并,但我们需要更多技巧——我们需要先将其拆分。 第一个数组将包含复选框(原始数组的第一个元素),第二个数组将包含其他所有内容。 我们将第一个数组与包含我们 ID 的数组合并,然后与第二个数组合并。 代码应该使这一点更清晰:

加载要点 ceb06c8dd27458696ebb4d89358eeda3

结论

我认为这是 WordPress 模块化的一个很好的例子。 ID 曾经显示在管理员中(WordPress 2.5 之前),但事实证明没有多少人需要它们。 删除此功能后,插件应运而生,以迎合那些仍想查看帖子 ID 的人。

编写我们自己的插件可以一瞥 WordPress 的模块化程度以及修改管理员本身的容易程度。 上面概述的相同方法可用于将缩略图、描述片段和其他信息添加到管理列表中。

标签:

标签: WordPress op

提交需求或反馈

Demand feedback