我有一个有趣的问题,我可以使用一些帮助解决。
我还没有完成大量的WordPress网站,但我对它很熟悉,并且非常熟悉PHP。
我需要知道是否有办法从WordPress中最近创建的类别中获取帖子。显然,从特定类别中获取文章非常容易和直接,我不需要那里的帮助。我需要的是也过滤最近创建的类别,只抓取属于它的子类别和帖子。我希望这是有道理的。
我的客户正在进行杂志类型的事情。我使用WP的默认类别创建功能,允许他们每个月创建新的“问题”。该类别实际上是月份和年份。想想一本杂志,例如当前的问题(类别)是2015年3月。他们将每个月创建一个新问题(类别),当然文章将发布在当前问题(类别)的子类别中。
如何从每个月最近创建的类别中抓取帖子以显示在前端?这种方式在目录中看起来像:
...等
如何仅查询最近创建的属于它的类别和文章?
答案 0 :(得分:0)
我认为您需要在选项表中保存日期和期限ID,然后您可以搜索最近的日期并获得期限ID。
首先你需要使用'create_term'
钩子:
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,然后您可以显示帖子