哆麦CMS文章调用标签教程

首页 > 主题开发 > 哆麦CMS文章调用标签

文章调用是指在页面主循环之外的地方按要求调用指定数量的文章,例如在侧边栏或文章下方随着展示文章。Domai CMS可以通过两个常用的标签来进行文章调用,get_posts函数或DM_Query类,本文重点介绍如果使用它们获取文章列表。

一,get_posts

get_posts接收一个数组参数,返回文章对象数组,所有可接受的参数如下:

'numberposts' => 5, //调用的文章数量

'number' => 5, //调用的文章数量,number的优先级更高

'category' => 0,        //调用的栏目ID

'category__in' => array(), //包含哪些栏目

'post_type' => 'post', //调用的post类型,默认为文章,支持post, page, topic

'post_status' => 'publish', //调用的post状态

'orderby' => 'post_date', //列表排序项

'order' => 'DESC', //列表排序规则

'include' => array(), //要包含的文章ID

'exclude' => array(), //排除的文章ID

 'meta_key' => '', //包含的meta键名

'meta_value' =>'', //包含的meta键值


如,获取栏目ID为1,5条随机排序的文章,并显示连接,代码可以如下:

<?php
$posts = get_posts(array('number'=>5,'category'=>1,'orderby'=rand));
foreach($posts as $post){
sprintf('<li><a href="%s" title="%s">%s</a></li>', $post->get_permalink(), $post->title, $post->subtitle);
}
?>

上述函数的参数也可以写为'number=5&category=1&orderby=rand'这样的字符串。

二,DM_Query

DM_Query是系统查询类,用来查询文章,并把文章绑定到全局对象上,以便于更好的调用,用法为:

<?php
$posts = new DM_Query($args);
while($posts->have_posts()){
    $posts->the_post();
    //列表展示代码
}
dm_reset_postdata();
?>

和get_posts不同的是,DM_Query会把查询到的数据绑定到全局对象上,这意味着可以在列表展示代码里调用所有文章调用标签。

DM_Query接受的参数$args,为数组,常见参数如下:

cat, 栏目ID

category_name, 栏目别名

category__in, 多个栏目的栏目ID,栏目名或栏目slug

tag, 标签别名

tag_id, 标签id

p, 文章id

name, 文章slug

title, 文章标题

page_id, 页面id

pagename, 页面slug

topic_id, 专题id

topic_name, 专题slug

post__in, 一个包含文章ID的数组,在这些ID中查找文章

post__not_in, 一个包含ID的数组,排序这些ID的的文章

post_type, 文章类型 post, page, topic,默认为post

post_status, 文章状态,publish, pending,默认为publish

posts_per_page, 每页调用多少文章

has_thumbnail, 调用有缩略图的文章

nopagination, 不分页

paged, 显示第几页

offset, 偏移数量

s, 搜索文章


order,排序规则

orderby, 排序项目


no_found_rows, 设置为true时,可以帮助提高查询速度。

列入,查询ID为1,5条随机排序的文章,并展示出来

<?php
$posts = new DM_Query(array('cat'=>1, 'orderby'=>'rand', 'posts_per_page'=>5));
while($posts->have_posts()){
    $posts->the_post();
?>
<li><a href="<?php the_permalink();?>" title="<?php the_title()?>"><?php the_subtitle();?></a></li>
<?php
}
dm_reset_postdata();
?>

上述调用的参数也可以写为"cat=1&orderby=rand&posts_per_page=5"。

上一篇: 哆麦CMS列表模版标签介绍 下一篇: 哆麦CMS留言表单功能开发教程
19人阅读过这篇文章,2人喜欢。

发表评论

评论列表