WordPress get_posts功能是什么?您如何使用它?

斯蒂芬·罗德维格(Stephen Roddewig)
斯蒂芬·罗德维格(Stephen Roddewig)

发布:

互联网的一个好处是快速访问信息。用几句话,搜索引擎可以解释用户的需求并返回相关结果。

开发人员在WordPress网站中使用get_posts函数

WordPress不是Google,但您希望通过提供相关内容为您的网站访问者提供相同的价值。幸运的是,WordPress为用户提供了更深入研究您的内容的选项,包括类别,标签和搜索栏。

使用HubSpot的WordPress网站来发展业务

但是,如果您要构建WordPress网站或自定义现有网站,则可能会遇到默认选项不够的情况。例如,您正在创建一个作者页面,并希望显示所有帖子。那是您转向get_posts函数的时候。

GET_POSTS功能是什么?

WordPressget_post功能是一种基于指定条件的自定义帖子集的方法。重要的是要注意,此用例中的帖子也可能意味着页面或自定义帖子类型。结果get_post然后可以在页面上显示查询。

您什么时候需要get_post?

每当您需要检索一组帖子并显示它们时。一些常见用例正在显示您最受欢迎的帖子列表,与您的访问者所阅读的文章相同的作者的帖子以及与所示内容相同的类别的帖子。你会看到这些get_post呼叫在后面的PHP中写成。

get_posts如何工作?

get_post获取您的搜索标准,然后在内部工作wp_query将PHP代码转换为SQL查询的对象WordPress网站的数据库

结果转换为wp_post对象,每个对象代表一个帖子。这些对象分为一个数组get_post循环通过您的说明显示结果。

在继续之前,让我们仔细看看get_postwp_query

get_posts vs. wp_query

如所讨论的,get_post是一种方法wp_query用于搜索数据库以获取发布数据和内容的类。

wp_query查询数据库以使用循环显示帖子,这是WordPress用于显示帖子的主要过程。

你可能想知道为什么get_post存在wp_query还提取帖子内容并显示它。关键区别在于get_post不会改变循环。循环是在您的网站上渲染帖子和页面的中心过程,如果在代码中使用每次使用后,则可能导致站点问题。

get_post是为了避免这种陷阱而创建的,使其成为首选的方法WordPress插件想要增加价值而不会在主机网站中引起问题的开发人员。该函数从数据库中汲取信息,并在每次调用后自动重置循环。

现在我们了解get_post,让我们在代码中浏览我们请求的不同部分。

get_posts查询的解剖

get_post用PHP编写,您遇到的最常见问题是语法不当。为了防止这些错误,本节将穿过A的每个组成部分get_post要求。

get_post呼叫

最简单的是get_post请求是函数调用。

get_posts();

这是基本的构建块。但是,打电话给get_post函数本身并不能为您提供与数据进行交互的数据,因为您尚未将其分配给变量。

$ sample_array = get_posts();

现在,您有一系列分配给的帖子对象sample_array多变的。在此用例中,您没有定义任何参数,因此默认结果是最新帖子的吸引。我们将回顾为您的添加参数get_post在最后一部分中致电,但首先,我们将研究如何显示当前结果。

get_posts foreach循环

get_post功能已经返回一个数组,因此,下一步是循环浏览结果以显示它们。为此,请使用foreach方法。

foreach($ sample_array作为$ post)

{

回声“

”。$ post-> post_title。“

”;

}

以上方法循环通过每个wp_post对象在我们的数组中,拉动帖子标题要在htmlH3标签。让我们将其与我们的get_post功能调用。

<?php

$ count = 1;

$ sample_array = get_posts();

foreach($ sample_array作为$ post)

{

回声“

$ {count}。”。$ post-> post_title。“

”;

++ $ count;

}

?>

通过添加数数可变,您现在看到从最新到最古老的五个最新帖子中的列表。这也可以通过HTML中的有序列表来实现。下面的屏幕截图显示了页面上的结果。

默认get_posts函数调用结果

帖子标题不是唯一可以从wp_post目的。其他有用的属性包括:

  • ID:邮政ID
  • post_author:邮政作者的名字
  • 发布日期:帖子的发布日期
  • post_content:帖子的内容,包括文本,图像,链接和媒体
  • comment_count:帖子的评论总计

现在您了解默认值get_post致电,让我们在查询中添加自定义参数。

get_posts参数

真正的力量get_post它来自接受自定义搜索标准的能力。让我们扩展上一个示例,并将最近在参数数组中提取的帖子数量从五个帖子增加到10。

<?php

$ count = 1;

#在参数数组中添加的自定义参数

$参数= array(

“编号点” => 10

);

#参数变量作为get_posts函数的参数提供

$ sample_array = get_posts($ graborments);

foreach($ sample_array作为$ post)

{

回声“

$ {count}。”。$ post-> post_title。“

”;

++ $ count;

}

?>

默认情况下,数字柱参数设置为五个,但在这里计数增加到10。正如参数数组所建议的那样,您可以提供多个参数。有15个唯一参数组查询inget_post。让我们浏览最常见的参数。

common get_post参数

以下是您可能会使用的搜索参数:

  • 数字柱:声明您要返回的帖子数 - 使用-1检索与您的条件匹配的所有帖子
  • 类别:决定结果是否应根据其ID属于一个或多个类别
  • 订单:定义您需要您要订购的已检索帖子的标准(例如按日期,按评论等等等)
  • 命令:确定结果是按上升或降序排序的
  • 包括:定义您要根据其ID中包含的帖子
  • 排除:定义您的帖子想要基于其ID中的结果包含
  • post_type:确定get_posts是否检索帖子,页面或自定义帖子类型
  • post_status:确定查询检索是否已发布,计划,过程中或已删除的帖子

上面的示例已更新下面的其他参数。现在,此请求将在按日期从最旧到最新的日期订购的小说类别中提取10个帖子。请注意,小说类别由其ID标识,即整数。

<?php

$参数= array(

“ numberPosts” => 10,

“类别” => 2,

“ orderby” =>“ date”,

“订单” =>“ ASC”

);

$ sample_array = get_posts($ graborments);

foreach($ sample_array作为$ post)

{

回声“

”。$ post-> post_title。“

”;

回声“

”。$ post-> post_date。“

”;

}

?>

在继续之前,让我们更深入地看一下post_type范围。

wordpress get_posts自定义帖子类型

在构建WordPress网站的过程中,您可以在默认帖子和页面之外构建自定义帖子类型。这些可以是从推荐块到产品页面的任何东西。要获取这些对象,请使用post_type范围。在此示例中get_post拨打最近的三个最新推荐书以在页面上显示。

<?php

$参数= array(

“ post_type” =>“证明”,

“ numberPosts” => 3

);

$ sample_array = get_posts($ graborments);

foreach($ sample_array as $ pestimonial)

{

回声“

”。$ testimonial-> test_client_name。“

”;

回声“

”。$ testimonial-> test_summary。“

”;

}

?>

此功能调用的一个辅助优势是,每当在数据库中添加另一个推荐时,它将自动在任何页面上显示get_post请求 - 假设其日期比当前显示的三个日期更新。自定义帖子类型是一种一种方式get_post支持高级CMS功能在您的WordPress网站中。

随着下一节检查三个常见,您将看到更多的参数get_post查询您可以在代码中使用。

common get_posts查询

现在您知道如何写get_post请求,让我们检查一下您在网站上可能使用的一些查询。

1.获取最受欢迎的帖子。

WordPress网站通常有一个小部件,显示最受欢迎的博客文章。为了实现这一目标,请以最多评论的帖子为目标get_post

<?php

$参数= array(

“ orderby” =>“ comment_count”

);

$ sample_array = get_posts($ graborments);

foreach($ sample_array作为$ post)

{

回声“

”。$ post-> post_title。“

”;

回声“

”。$ post-> comment_count。“

”;

}

?>

请注意,因为默认get_post请求将提取五个帖子并按降序排序,此代码不能定义这些参数。但是,您可以更改这些参数,并根据需要添加其他参数以自定义。

2.获取作者的帖子。

您可能需要构建一个作者页面,以便您的受众可以找到作者的更多帖子。您可以通过致电get_post功能作者数字柱参数。

<?php

$参数= array(

“ numberPosts” => -1,

“作者” => 2

);

$ sample_array = get_posts($ graborments);

foreach($ sample_array作为$ post)

{

回声“

”。$ post-> post_title。“

”;

回声“

”。$ post-> post_date。“

”;

}

?>

请注意,与我们以前的示例一样,此代码不会重述get_post'默认论点按发布日期订购并按降序排序。这避免了不必要的代码并简化调试。

3.获取同一类别的帖子。

另一个常见的策略是在帖子结束时在同一类别中显示帖子,以便读者可以找到相似的内容。为此,下面的代码使用类别参数并将帖子数限制为三个,因为这是显示的典型数字。

<?php

$参数= array(

“ numberPosts” => 3,

“类别” => 2

);

$ sample_array = get_posts($ graborments);

foreach($ sample_array作为$ post)

{

回声“

”。$ post-> post_title。“

”;

回声“

”。$ post-> post_date。“

”;

}

?>

同样,按降序按降序排序的参数默认值留在原位。

get_posts为您的受众提供新价值

WordPress存储了有关每个帖子和页面的大量数据,get_post功能是剖析该信息的主要方法。有了十几个类别的参数,您就有无限的可能性向观众提供新内容。这get_post功能删除了在SQL中编写查询的需求,从而降低了进入的障碍并简化调试。

无论您的目标如何get_post将帮助您更好地理解内容,并发现帖子之间的新联系,以更好地为您的受众服务。

使用WordPress网站上的HubSpot工具,并在不处理代码的情况下连接两个平台。点击这里了解更多。

主题: WordPress网站

相关文章

通过免费表格,实时聊天,CRM,分析等捕获,组织和吸引网络访问者。

下载免费插件