gpt4 book ai didi

php - 如何从 WordPress 中最近创建的类别中获取帖子

转载 作者:行者123 更新时间:2023-11-29 22:43:39 25 4
gpt4 key购买 nike

我有一个有趣的问题,需要一些帮助来解决。

我没有做过很多 WordPress 网站,但我很熟悉它,并且对 PHP 非常熟悉。

我需要知道是否有办法从 WordPress 中最近创建的类别中获取帖子。显然,从特定类别中获取文章非常容易和直接,而且我不需要那里的帮助。我需要的是还过滤最近创建的类别,并仅获取属于它的子类别和帖子。我希望这是有道理的。

我的客户正在处理一件杂志类型的事情。我正在使用 WP 的默认类别创建功能,允许他们每月创建新的“问题”。类别实际上是月份和年份。想想一本杂志,例如当前一期(类别)是 2015 年 3 月。他们每个月都会创建一期新期刊(类别),当然文章将发布在当前一期(类别)的子类别中。

如何从每个月最近创建的类别中获取帖子以显示在前端?这样在目录中它看起来像这样:

  • 2015 年 3 月(主要或“当前”类别)
    • 子类别
      • 文章标题
      • 文章标题
      • 文章标题
    • 子类别
      • 文章标题
      • 文章标题
      • 文章标题

...等等

如何只查询最近创建的类别和属于该类别的文章?

最佳答案

我认为您需要在选项表中保存日期和术语 ID,然后您可以搜索最接近的日期并获取术语 ID。

首先您需要使用'create_term'钩子(Hook):

function addDateTerm($tid, $tt_id){
$date = date('l jS \of F Y h:i:s A');
add_option( '_date_term_'.$tid, $date );
}
add_action("create_term", 'addDateTerm', 2, 10);

这样,每当管理员创建新术语时,就会在 wp_option 表中创建一组新数据

现在您可以获得该选项并搜索最接近的日期和术语 ID

function find_closest()
{
$tId = get_terms( 'category', array('hide_empty'=> false));
$date = date('l jS \of F Y h:i:s A');
$termArray = array();

foreach ($tId as $term) {
$dates = get_option( '_date_term_'.$term->term_id);
$termArray[$term->term_id] = $dates;
}

foreach($termArray as $k=>$day)
{

$interval[$k] = abs(strtotime($date) - strtotime($day));

}

asort($interval);
$closest = key($interval);

// print_r($termArray);
// print_r($closest);

echo $closest;

}

该函数取自here并针对本示例进行了修改。

$closest 变量显示术语 ID,您可以用它来显示您的帖子

关于php - 如何从 WordPress 中最近创建的类别中获取帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29222771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com