搜索
首页CMS教程WordPress探索WordPress get_posts功能

探索WordPress get_posts功能

钥匙要点

    WordPress中的get_post()函数用于通过应用自定义过滤器并根据一组参数对最终结果进行排序来检索数据库中的帖子。它返回一个wp_post对象的数组,每个对象代表单个帖子。
  • get_post()函数优先于WP_QUERY对象,因为后者会改变主循环,并可能引起站点问题。 get_posts()函数和get_pages()函数都检索帖子,但参数名称,值和检索的方法有所不同。
  • >
  • get_posts()函数接受一系列参数以应用自定义过滤器并排序结果。这些参数包括post_per_page,page,sax_query,orderby,order,reford,meta_key,meta_value,post_type和post_status。
  • > get_post()函数可用于检索最受欢迎的帖子,随机帖子,具有匹配的元密钥和值的帖子以及带有自定义分类名称的自定义帖子类型的帖子。然后将返回的结果循环进行进一步使用。
  • >
  • >许多WordPress插件通过自定义排序顺序,基于特定的元密钥或分类法检索帖子,从数据库中检索帖子。您是否曾经想过这些插件如何在不编写任何SQL查询的情况下检索自定义的帖子列表?在本教程中,我们将学习如何做到这一点。
  • >

>在本文中,我们将探索get_posts()函数,其中一些示例有关如何在自己的项目中使用它。我们还将介绍此功能的一些典型用例,以及它与wp_query对象和get_pages函数的不同。

get_posts()函数是什么?探索WordPress get_posts功能 自WordPress 1.2.0以来,WordPress Core已在WordPress Core中使用

get_posts函数。此功能基本上用于通过应用自定义过滤器并根据一组参数对最终结果进行排序来检索数据库中的帖子。

get_post()函数返回WP_POST对象的数组。每个WP_POST对象代表一个单独的帖子。

>内部get_posts使用wp_query对象根据传递的参数集来构建和执行SQL查询。

注意:帖子是指帖子,页面和自定义帖子类型。

为什么不直接使用wp_query对象?

>插件使用get_posts函数,而不是wp_query对象,因为使用wp_query对象直接改变了主循环(即全局$ wp_query变量),这会导致站点问题。

get_posts()和get_pages()函数之间有什么区别?

>它们两个都用于从WordPress数据库中检索帖子,但是,以下是它们之间的一些区别:>
    它们之间的几个参数名称和值之间有所不同。尽管无论参数的名称如何
  • get_pages()函数当前不基于meta_key和meta_value参数检索帖子。
  • get_pages()函数不使用wp_query对象。相反,它直接构建和执行SQL查询。
  • get_posts()函数参数

get_post函数仅将一个参数作为数组。阵列包含用于应用自定义过滤器的不同参数并对结果进行排序。>

这是一个代码示例,该示例显示了如何调用此函数和可用的各种参数:>

有更多参数可用,但是这些参数是最常用的参数。让我们看一下这些参数:

<span><span><?php </span></span><span>
</span><span><span>$args = array(
</span></span><span>	<span>"posts_per_page"   => 5,
</span></span><span>	<span>"paged"            => 1
</span></span><span>	<span>"tax_query" => array(
</span></span><span>		<span>array(
</span></span><span>			<span>"taxonomy" => "category",
</span></span><span>			<span>"field"    => "slug",
</span></span><span>			<span>"terms"    => "videos,movies",
</span></span><span>		<span>)
</span></span><span>	<span>),
</span></span><span>	<span>"orderby"          => "post_date",
</span></span><span>	<span>"order"            => "DESC",
</span></span><span>	<span>"exclude"          => "1123, 4456",
</span></span><span>	<span>"meta_key"         => "",
</span></span><span>	<span>"meta_value"       => "",
</span></span><span>	<span>"post_type"        => "post",
</span></span><span>	<span>"post_status"      => "publish"
</span></span><span><span>);
</span></span><span>
</span><span><span>$posts_array = get_posts($args); 
</span></span><span>
</span><span><span>?></span></span></span>
posts_per_page:此参数定义要返回的帖子数量。如果您想要所有帖子,请使用-1。

> page:允许我们在使用posts_per_page参数时在一组帖子之间导航。它用于分页。例如:假设posts_per_page是10,结果中有20个帖子,然后如果您分配了第2个,则返回最后10个帖子。
    > Orderby:用于对检索到的帖子进行排序。一些可能的值是:“无”,“ date”,“ rand”,“ comment_count”,“ meta_value”,“ meta_value_num”等,同时使用“ meta_value”和“ meta_value_num”进行排序时,您需要提供Meta_key参数。
  1. 顺序:指定订单参数的上升或降序。可能的值是“ desc”或“ asc”。
  2. >
  3. 排除:它获取逗号分隔的帖子ID列表,该列表将在数据库搜索中排除。
  4. > meta_key和meta_value:如果您仅提供元数据,则将返回具有密钥的帖子。如果您还提供meta_value,则返回了与meta_key的meta_value匹配的帖子。
  5. >
  6. post_type:根据帖子,页面或自定义帖子类型检索内容。请记住,默认的post_type仅设置为显示帖子,而不设置为页面。
  7. >
  8. > POST_STATUS:根据帖子状态检索帖子。可能的价值是:“发布”,“待处理”,“草稿”,“未来”,“任何”或“垃圾”。
  9. >
  10. > wp_post对象
  11. get_post函数返回包含WP_POST对象的数组。这是WP_POST对象的重要属性:
    1. ID:帖子的ID
    2. >
    3. > post_author:帖子的作者名称
    4. post_type:post
    5. 的类型
    6. post_title:帖子的标题
    7. >
    8. > post_date:发布的日期。格式:0000-00-00 00:00:00
    9. post_content:帖子的内容。
    10. post_status:职位的状态
    11. >
    12. comment_count:帖子的注释数

    get_posts

    的示例

    >让我们使用get_posts函数查看一些示例。

    >

    最受欢迎的帖子

    >如果要在网站上显示最讨论的帖子的顶部N号,则可以使用get_posts检索它们。这是一个示例:

    <span><span><?php </span></span><span>
    </span><span><span>$args = array(
    </span></span><span>	<span>"posts_per_page"   => 5,
    </span></span><span>	<span>"paged"            => 1
    </span></span><span>	<span>"tax_query" => array(
    </span></span><span>		<span>array(
    </span></span><span>			<span>"taxonomy" => "category",
    </span></span><span>			<span>"field"    => "slug",
    </span></span><span>			<span>"terms"    => "videos,movies",
    </span></span><span>		<span>)
    </span></span><span>	<span>),
    </span></span><span>	<span>"orderby"          => "post_date",
    </span></span><span>	<span>"order"            => "DESC",
    </span></span><span>	<span>"exclude"          => "1123, 4456",
    </span></span><span>	<span>"meta_key"         => "",
    </span></span><span>	<span>"meta_value"       => "",
    </span></span><span>	<span>"post_type"        => "post",
    </span></span><span>	<span>"post_status"      => "publish"
    </span></span><span><span>);
    </span></span><span>
    </span><span><span>$posts_array = get_posts($args); 
    </span></span><span>
    </span><span><span>?></span></span></span>

    >在这里,我们使用订单参数根据注释数量对帖子进行排序,并检索前10个帖子。

    随机帖子

    >您也可以轻松检索随机帖子。一旦阅读了当前的文章,就可以在您的网站上推荐另一篇文章。这是为此的代码:

    <span><span><?php </span></span><span>	<span>$args = array("posts_per_page" => 10, "orderby" => "comment_count");
    </span></span><span>	<span>$posts_array = get_posts($args);
    </span></span><span>	<span>foreach($posts_array as $post)
    </span></span><span>	<span>{
    </span></span><span>	  <span>echo "<h1 id="post-gt-post-title">" . $post->post_title . "</h1>
    <br>";
    </span></span><span>	  <span>echo "<p>" . $post->post_content . "</p>
    <br>";
    </span></span><span>	<span>} 
    </span></span><span><span>?></span></span></span>
    在上面的示例中,我们将值rand传递给了order_by参数。

    >

    >具有匹配的元密钥和值

    >的帖子

    >我们可能想检索所有具有特定元密钥的帖子和分配的值。例如:有些博客都有每篇文章的审稿人。我们可能想检索特定审稿人审查的文章。

    这是做到这一点的代码:

    >

    <span><span><?php </span></span><span>  <span>$args = array("posts_per_page" => 1, "orderby" => "rand");
    </span></span><span>  <span>$posts_array = get_posts($args);
    </span></span><span>  <span>foreach($posts_array as $post)
    </span></span><span>  <span>{
    </span></span><span>    <span>echo "<h1 id="post-gt-post-title">" . $post->post_title . "</h1>
    <br>";
    </span></span><span>    <span>echo "<p>" . $post->post_content . "</p>
    <br>";
    </span></span><span>  <span>} 
    </span></span><span><span>?></span></span></span>
    >在这里,我们正在检索“ NarayanPrusty”审查的所有帖子。我们假设审阅者名称是通过每个帖子的元密钥“审稿人”存储的。

    >

    >自定义帖子类型带有自定义分类法

    >我们可能想检索带有自定义分类名称的自定义帖子类型的帖子。考虑此代码示例:

    <span><span><?php </span></span><span>  <span>$args = array("posts_per_page" => -1, "meta_key" => "reviewer", "meta_value" = "narayanprusty");
    </span></span><span>  <span>$posts_array = get_posts($args);
    </span></span><span>  <span>foreach($posts_array as $post)
    </span></span><span>  <span>{
    </span></span><span>    <span>echo "<h1 id="post-gt-post-title">" . $post->post_title . "</h1>
    <br>";
    </span></span><span>    <span>echo "<p>" . $post->post_content . "</p>
    <br>";
    </span></span><span>  <span>} 
    </span></span><span><span>?></span></span></span>
    在此示例中,我们正在检索属于“插件”和“主题”自定义分类法的定制帖子类型的帖子。

    结论

    >在本文中,我们看到了get_posts函数如何工作,它支持的各种参数,循环循环返回结果以及一些示例用例。 GET_POSTS功能是最常用的WordPress函数之一,希望您现在可以开始使用自己的项目。

    >

    >关于WordPress GET_POSTS函数的常见问题(FAQ)

    > wordpress中的get_posts和wp_query之间有什么区别?

    get_posts和wp_query均用于从WordPress数据库中检索帖子。但是,它们的使用和灵活性有所不同。 get_posts是一个更简单的功能,非常适合初学者,也是您只需要检索特定帖子的情况。另一方面,WP_QUERY更强大和灵活。它允许更复杂的查询,并使您对WordPress循环有更多控制权。虽然get_posts更易于使用,但WP_QUERY提供了更高级的功能来自定义查询。

    >如何修改get_posts返回的帖子数?默认情况下,将其设置为5。如果要检索所有帖子,则可以将“ numberPosts”设置为-1。例如,要获取10篇文章,您将使用:get_posts(array('numberposts'=> 10));

    >我可以使用get_posts检索自定义帖子类型吗?可以使用get_post检索自定义邮政类型。您只需要在查询中指定“ post_type”参数。例如,如果您具有称为“产品”的自定义帖子类型,则可以使用以下方式检索以下帖子(array('post_type'=>'products'));

    >我如何对返回的帖子进行分组通过get_posts?

    >您可以通过使用'orderby'和'order'参数对get_post返回的帖子进行分类。 “ Orderby”确​​定要通过排序的字段,“顺序”确定排序顺序(ASC的上升和下降的降序)。例如,要按升序按标题对帖子进行排序,您将使用:get_posts(array('orderbod'=>'title','order'=>'asc'));

    要从特定类别检索帖子?

    是的,您可以使用get_post从特定类别检索帖子。您只需要在查询中指定“类别”参数。例如,要从ID 3获得类别的帖子,您将使用:get_post(array('category'=> 3));

    如何使用get_post从多个类别中检索帖子? >

    >要从多个类别检索帖子,您可以将类别ID数组传递到“类别”参数。例如,要获取具有IDS 3和4的类别的帖子,您将使用:get_posts(array('category'=> array(3,4)));

    >我可以使用get_posts检索特定作者的帖子?

    是的,您可以使用get_posts检索特定作者的帖子。您只需要在查询中指定“作者”参数。例如,要使用ID 1获取作者的帖子,您将使用:get_posts(array('rution'=> 1));

    >我如何检索使用get_posts包含特定元值的帖子?

    要检索包含特定元值的帖子,您可以使用'meta_key'和'meta_value'参数。例如,要获取具有“颜色”元密钥和“蓝色”的元值的帖子,您将使用:get_posts(array('meta_key'=>'color','meta_value'=>'blue') );

    我可以使用get_posts检索具有特定标签的帖子吗?您只需要在查询中指定“标签”参数。例如,要获取具有标签“ wordpress”的帖子,您将使用:get_posts(array('tag'=>'wordpress’));

    >如何使用get_posts从特定日期范围内检索帖子?

    >

    从特定日期范围内检索帖子,您可以使用'date_query'参数。此参数接受数组数组,每个内部数组都定义一个日期查询子句。例如,要从2020年1月开始获取帖子,您将使用:get_posts(array('date_query’=> array(array(array'=> 2020,'noter''=> 1)))));>>>>>

以上是探索WordPress get_posts功能的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
如何将PHP数据和字符串传递给WordPress中的JavaScript如何将PHP数据和字符串传递给WordPress中的JavaScriptMar 07, 2025 am 09:28 AM

将PHP数据传递给JavaScript的最佳实践:WP_LOCALIZE_SCRIPT和WP_ADD_INLINE_SCRIPT的比较 在PHP文件中将数据存储在静态字符串中是建议的练习。 如果在您的JavaScript代码中需要此数据,请合并

如何使用WordPress插件嵌入和保护PDF文件如何使用WordPress插件嵌入和保护PDF文件Mar 09, 2025 am 11:08 AM

本指南演示了如何使用WordPress PDF插件在WordPress帖子和页面中嵌入和保护PDF文件。 PDFS为从目录到演示文稿提供了一种用户友好的,普遍访问的格式。 此方法ENS

对于初学者来说,WordPress容易吗?对于初学者来说,WordPress容易吗?Apr 03, 2025 am 12:02 AM

WordPress对初学者来说容易上手。1.登录后台后,用户界面直观,简洁的仪表板提供所有必要功能链接。2.基本操作包括创建和编辑内容,所见即所得的编辑器简化了内容创建。3.初学者可以通过插件和主题扩展网站功能,学习曲线存在但可以通过实践掌握。

为什么有人会使用WordPress?为什么有人会使用WordPress?Apr 02, 2025 pm 02:57 PM

人们选择使用WordPress是因为其强大和灵活性。1)WordPress是一个开源的CMS,易用性和可扩展性强,适合各种网站需求。2)它有丰富的主题和插件,生态系统庞大,社区支持强大。3)WordPress的工作原理基于主题、插件和核心功能,使用PHP和MySQL处理数据,支持性能优化。

WordPress仍然免费吗?WordPress仍然免费吗?Apr 04, 2025 am 12:06 AM

WordPress核心版本是免费的,但使用过程中可能产生其他费用。1.域名和托管服务需要付费。2.高级主题和插件可能需要付费。3.专业服务和高级功能可能需要付费。

WordPress的成本是多少?WordPress的成本是多少?Apr 05, 2025 am 12:13 AM

WordPress本身免费,但使用需额外费用:1.WordPress.com提供从免费到付费的套餐,价格从每月几美元到几十美元不等;2.WordPress.org需购买域名(每年10-20美元)和托管服务(每月5-50美元);3.插件和主题多数免费,付费的价格在几十到几百美元之间;通过选择合适的托管服务、合理使用插件和主题、定期维护和优化,可以有效控制和优化WordPress的成本。

我应该使用Wix或WordPress吗?我应该使用Wix或WordPress吗?Apr 06, 2025 am 12:11 AM

Wix适合没有编程经验的用户,WordPress适合希望有更多控制和扩展能力的用户。1)Wix提供拖放式编辑器和丰富模板,易于快速搭建网站。2)WordPress作为开源CMS,拥有庞大社区和插件生态,支持深度自定义和扩展。

WordPress有什么用?WordPress有什么用?Apr 07, 2025 am 12:06 AM

wordpressgood forvortalyanewebprojectDuetoItsAsatilityAsacms.itexcelsin:1)用户友好性,允许Aeserywebsitesetup; 2)sexibility andcustomized andcustomization and numerthemesandplugins; 3)seoop timigimization; and4)and4)

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
2 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
2 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版