WordPress 页面与文章:静态内容的管理与 API 应用
WordPress 页面和文章有所不同,它们适用于不同类型的网站内容。本文将阐述页面的用途、与文章的区别,并讲解如何在 WordPress 网站上管理页面,最后探讨 WordPress 页面 API 的相关函数。
关键要点:
get_pages()
函数可用于检索页面列表数组,而 get_post()
函数则用于检索单个页面。这些函数允许在显示页面之前对其进行进一步自定义和操作。什么是 WordPress 页面?
WordPress 页面是网站上的一个内容页面,例如“联系我们”或“关于我们”页面。我们经常在网站的主要导航、侧边栏或页脚中看到这些页面的链接。
页面和文章的主要区别在于时间的关联性:文章通常与时间相关,而页面的内容通常是永久性的。
发布新闻或教程时,时间上下文非常重要。新功能不会永远都是新的,在某些情况下几年后可能就不存在了。这就是为什么撰写此类内容时更适合使用文章。
另一方面,如果您想描述网站的目的,或提供联系表单,则应使用页面。这是不会随时间变化的静态内容类型。
如何管理 WordPress 页面?
如果您拥有编辑或管理员权限,则可以管理 WordPress 中的页面。为此,请转到 WordPress 仪表板中的“页面”,您将看到所有页面的列表,或者可以通过“添加新页面”按钮创建一个新页面。
此列表类似于“文章”列表,使用方法相同。您可以点击页面的标题进行编辑,当您将鼠标悬停在页面的标题上时,还会出现其他一些有用的快捷链接。
当您点击编辑或添加页面或文章时,您可以指定标题、内容,如果您的主题支持,还可以添加特色图片。“发布”按钮允许您发布页面。否则,如果您尚未准备好上线,可以将其保存为草稿。
要组织文章,可以使用分类和标签。但是,没有类似的方法来组织页面。页面仍然可以按层次结构组织。实际上,您可以将页面指定为其他页面的子页面。这就像为您的分类创建子分类一样。
要创建子页面,请转到“页面属性”框,您将在其中找到一个名为“父页面”的下拉列表。在此列表中,选择您想要作为当前创建或编辑页面的父页面的页面。请注意,您还可以创建子子页面、子子子页面等,以创建您自己的层次结构。
默认情况下,页面按字母顺序(按标题)排序。您可以通过“页面属性”部分中的“顺序”字段自定义此顺序。然后,页面将按照您在此字段中指示的数字排序。例如,如果您有三个标题为“页面 1”、“页面 2”和“页面 3”的页面,则默认情况下它们将按此顺序显示。如果您想让“页面 3”首先出现,请将其顺序指示为 0,并将其他页面的顺序指示为更大的数字(例如 1 和 2)。
WordPress 页面 API
要显示页面列表,WordPress 提供了 wp_list_pages()
函数。默认情况下,它显示包含所有已发布页面的无序列表的 HTML 代码,该代码封装在一个 li 标签中,并带有指示“页面”的 h2 标题。它还接受一个参数:一个关联数组,其中列出了一些自定义输出的选项。
可以使用一些选项来限制显示的页面数量。我们将看到的第一个选项是 child_of
。它允许我们显示具有给定页面作为父页面的页面。以下示例显示页面 ID 为 2 的子页面:
<code class="language-php"><?php wp_list_pages(array( 'child_of' => 2 )); ?></code>
当我们想要显示由一个或多个作者撰写的页面时,authors
选项非常有用。此选项接受字符串作为值:用逗号分隔的作者 ID 列表。使用以下参数,该函数将显示由两位作者撰写的页面:
<code class="language-php"><?php wp_list_pages(array( 'authors' => '2,7' )); ?></code>
要仅显示某些页面,可以使用 include
选项。您可以为此选项提供用逗号分隔的页面 ID 列表,您将获得这些页面的列表:
<code class="language-php"><?php wp_list_pages(array( 'include' => '7,53,8' )); ?></code>
相反,如果您想隐藏某些页面,可以使用 exclude
选项,它接受相同类型的值:
<code class="language-php"><?php wp_list_pages(array( 'exclude' => '2,4' )); ?></code>
您还可以选择按深度进行筛选。例如,如果您只想查看顶级页面,可以使用 depth
选项。
默认情况下,它设置为 0,并且会显示所有页面。将其设置为任何正数,您将只获得此深度的页面。例如,指示 1 将仅显示顶级页面。以下示例显示这些相同的页面及其直接子页面:
<code class="language-php"><?php wp_list_pages(array( 'depth' => 2 )); ?></code>
默认情况下,wp_list_pages()
仅显示已发布的页面。但是,您可以使用 post_status
选项显示其他页面。
使用此选项显示您想要看到的状态,用逗号分隔。以下示例显示已发布的页面和草稿:
<code class="language-php"><?php wp_list_pages(array( 'child_of' => 2 )); ?></code>
除了过滤检索到的页面列表外,您还可以使用 number
选项限制检索到的页面数量。如果您使用正数,您将只检索有限数量的页面。
您可以使用 title_li
选项自定义标题,该选项接受字符串作为值。默认情况下,它设置为“页面”,然后您可以选择任何文本进行显示。您也可以将其设置为空字符串。
这样,wp_list_pages()
不会将您的页面封装到 li 标签中,您将直接获得页面的 li 标签。
wp_list_pages()
函数允许您获取页面的 HTML 列表。如果您想创建您自己的 HTML,或者如果您需要在显示页面之前对页面应用某些操作,则此函数不是最佳选择。相反,您更倾向于使用 get_pages()
来检索列出不同页面的数组。
此函数也接受数组作为参数,列出所需的选项。好消息是您已经了解其中一些选项,因为我们在 wp_list_pages()
函数的描述中已经介绍了它们:child_of
、authors
、include
、exclude
、post_status
、number
、sort_column
和 sort_order
。
默认情况下,get_pages()
中会显示页面的层次结构:子页面将出现在其父页面之后。您可以通过将 hierarchical
选项设置为 false 来禁用此行为。这样,所有页面都将被平等对待,并且层次结构将被完全忽略。
get_pages()
函数返回一个列出所需页面的数组,每个页面都由一个 WP_Post 对象表示。我们现在将通过仅检索一个页面来了解此对象中包含的内容。要检索页面,请使用 get_post()
函数。为此函数提供页面的 ID,您将获得表示此页面的对象:
<code class="language-php"><?php wp_list_pages(array( 'authors' => '2,7' )); ?></code>
此对象中提供了多条信息,每条信息都是一个属性。例如,可以使用 ID 属性获取页面的 ID:
<code class="language-php"><?php wp_list_pages(array( 'include' => '7,53,8' )); ?></code>
post_content
允许您检索页面的内容,而其标题位于 post_title
属性中。post_name
属性包含页面的 slug(其 URL 中表示页面标题的部分)。
页面作者的 ID 由 post_author
属性给出。您还可以使用 post_date
检索其创建日期,使用 post_modified
检索其最后修改日期。post_status
属性允许您了解页面的状态(例如已发布或草稿)。
父页面的 ID 可以使用 post_parent
属性获得,menu_order
将为您提供在创建页面时指示的顺序。
结论
如果您想向您的网站添加一些静态的、永久性的信息,那么 WordPress 页面是解决方案。
如果您正在开发主题,WordPress 页面 API 的函数非常有用。例如,您可以列出页脚中的某些页面,或创建小部件来执行此操作,以便您的用户可以在任何他们想要的地方列出页面。
WordPress 页面和页面 API 的常见问题解答
WordPress 页面和文章是两种不同类型的内容。页面是静态的,不受时间影响,而文章是与时间相关的,用于动态内容。页面通常用于内容不会经常更改的内容,例如“关于我们”或“联系我们”页面。另一方面,文章用于博客、新闻更新和其他定期更新的内容。
WordPress REST API 提供了 WordPress 数据类型的端点,允许通过 HTTP 协议与您的 WordPress 网站进行交互。要检索页面内容,您可以向 /wp/v2/pages
端点发送 GET 请求。这将返回一个 JSON 对象,其中包含您网站上的所有页面。您还可以通过将页面 ID 附加到端点来检索特定页面,例如 /wp/v2/pages/<id></id>
。
要使用 WordPress REST API 创建新页面,您可以向 /wp/v2/pages
端点发送 POST 请求。请求应包含一个 JSON 对象,其中包含页面的标题、内容和状态。状态可以是“发布”、“待定”、“草稿”或“私有”。 API 将返回一个 JSON 对象,其中包含新创建页面的详细信息。
要使用 WordPress REST API 更新页面,您可以向 /wp/v2/pages/<id></id>
端点发送 POST 请求,其中 <id></id>
是您要更新的页面的 ID。请求应包含一个 JSON 对象,其中包含更新的标题、内容或状态。 API 将返回一个 JSON 对象,其中包含更新页面的详细信息。
要使用 WordPress REST API 删除页面,您可以向 /wp/v2/pages/<id></id>
端点发送 DELETE 请求,其中 <id></id>
是您要删除的页面的 ID。 API 将返回一个 JSON 对象,其中包含已删除页面的详细信息。
要使用 WordPress REST API 检索所有页面的列表,您可以向 /wp/v2/pages
端点发送 GET 请求。这将返回一个 JSON 对象,其中包含您网站上所有页面的列表。
要使用 WordPress REST API 检索所有已发布页面的列表,您可以向 /wp/v2/pages
端点发送 GET 请求,并将“status”参数设置为“publish”。这将返回一个 JSON 对象,其中包含您网站上所有已发布页面的列表。
要使用 WordPress REST API 检索所有草稿页面的列表,您可以向 /wp/v2/pages
端点发送 GET 请求,并将“status”参数设置为“draft”。这将返回一个 JSON 对象,其中包含您网站上所有草稿页面的列表。
要使用 WordPress REST API 检索所有私有页面的列表,您可以向 /wp/v2/pages
端点发送 GET 请求,并将“status”参数设置为“private”。这将返回一个 JSON 对象,其中包含您网站上所有私有页面的列表。
要使用 WordPress REST API 检索所有待定页面的列表,您可以向 /wp/v2/pages
端点发送 GET 请求,并将“status”参数设置为“pending”。这将返回一个 JSON 对象,其中包含您网站上所有待定页面的列表。
以上是了解WordPress页面和页面API的详细内容。更多信息请关注PHP中文网其他相关文章!