在wordpress里有一个小工具,显示最新文章,不过这个是按最后发布的日期显示的。另外在wordpress循环中,也是按最后发布的日期显示的。但是对于有限项目中需要按最新更新的方式显示文章。对此,是必要的。能够有利于让用户更好的获取网站的第一手资讯。所以按最新更新文章显示是非常好的。下面提供一个函数:
把下面的代码放在functionsphp中:
[php]
function wpb_lastupdated_posts() {
// Query Arguments
$lastupdated_args = array(
‘orderby’ => ‘modified’,
‘ignore_sticky_posts’ => ’1′
);
//Loop to display 5 recently updated posts
$lastupdated_loop = new WP_Query( $lastupdated_args );
$counter = 1;
echo ‘<ul>’;
while( $lastupdated_loop->have_posts() && $counter < 5 ) : $lastupdated_loop->the_post();
echo ‘<li><a href="’ get_permalink( $lastupdated_loop->post->ID ) ‘"> ‘ get_the_title( $lastupdated_loop->post->ID ) ‘</a> ( ‘ get_the_modified_date() ’) </li>’;
$counter++;
endwhile;
echo ‘</ul>’;
wp_reset_postdata();
}
//add a shortcode
add_shortcode(‘lastupdated-posts’, ‘wpb_lastupdated_posts’);
[/php]
现在就可以在wordpress主题模版中使用下面的方式显示最新更新的文章了:
[php]
<php
if (function_exists(wpb_lastupdated_posts)) :
wpb_lastupdated_posts();
endif;
>
[/php]
如果不想修改wordpress主题模版文件,也可以直接在文章、页面、小工具里直接添加简码:
[lastupdated-posts]
WordPress 博客分类调用代码使用:
登陆博客后台,点击外观选项卡下的“编辑”选项进入当前主题编辑界面(也可以下载文件到本地进行编辑)
在需要调用分类文章的地方添加以下调用代码
<php $posts = get_posts( "category=1&numberposts=10" ); ><php if( $posts ) : >
<php foreach( $posts as $post ) : setup_postdata( $post ); >
<li>
<a href="<php the_permalink() >" rel="bookmark" title="<php the_title(); >"><php the_title(); ></a>
</li> <php endforeach; >
<php endif; >
category=1&numberposts=10:其中的1是指调用分类ID为1的文章,10是指调用该分类下最新的10篇文章
提交更新文件即可。
附:WordPress 博客分类ID获取
1、登陆博客后台,点击“文章”下的分类目录选项卡;
2、找到相关分类目录,把鼠标的箭头移到分类目录名称上面;
3、这时浏览器底部的状态栏下会显示一个链接地址,地址最后面有_ID=1,其中的1便是该分类目录的ID。看图:
提醒:第二步中不需要点击目录名称,只是把鼠标放在上面即可;第三步的_ID=1中的1是本站测试目录的ID,各个目录的ID是不相同的,根据自己博客的情况选择ID。
如有帮助,请采纳,谢谢
我建议你在当前皮肤下新建个category-hotphp文件
这样就不需要再去判断了,当用户点击热门分类时,自动会调用category-hotphp这个模板文件
另外,建议你用WP_Query这个类来重新查询结果,如:
<php$args = array(
'category__in' => 8,
'posts_per_page' => 10
);
$hots = new WP_Query($args);
if ( $hots -> have_posts() )
while( $hots -> have_posts() ) : $hots -> the_post();
endwhile;
endif;
>
使用query_posts可以快速获取文章
$current_category_id = 1;$recent_posts = query_posts( 'cat='$current_category_id );
var_dump( $recent_posts ); //检查获取的内容
<php
$limit = get_option('posts_per_page');
$paged = (get_query_var('paged')) get_query_var('paged') : 1;
query_posts('showposts=' $limit=7 '&paged=' $paged);//limit变量控制最新文章数量
$wp_query->is_archive = true; $wp_query->is_home = false;
>
<php while(have_posts()) : the_post(); if(!($first_post == $post->ID)) : >
<ul>
<li><a href="<php the_permalink() >" rel="bookmark" title="Permanent Link to <php the_title_attribute(); >">
<php the_title(); ></a></li>
</ul>
<php endif; endwhile; >
方法一:文章根据标签相关(用SQL获取)
相关原理:首先获取改篇文章的所有标签,接着获取这些标签下的 n 篇文章,那么这 n 篇文章就是与该文章相关的文章了。现在可以见到的WordPress相关文章插件都是使用的这个方法。这里我们通过SQL语句来直接读取数据库,随机获取 10篇相关的文章记录。下面是实现的代码:
<h3>该文章的相关文章</h3>
<ul>
<php
$all_tags = wp_get_post_tags($post->ID);
if ($all_tags) {
$tag_list = '';
foreach ($all_tags as $tag)
{
// 获取标签列表
$tag_list = $tag->term_id',';
}
$tag_list = substr($tag_list, 0, strlen($tag_list)-1);
$related_posts = $wpdb->get_results("
SELECT post_title, ID
FROM {$wpdb->prefix}posts, {$wpdb->prefix}term_relationships, {$wpdb->prefix}term_taxonomy
WHERE {$wpdb->prefix}term_taxonomyterm_taxonomy_id = {$wpdb->prefix}term_relationshipsterm_taxonomy_id
AND ID = object_id
AND taxonomy = 'post_tag'
AND post_status = 'publish'
AND post_type = 'post'
AND term_id IN (" $tag_list ")
AND ID != '" $post->ID "'
ORDER BY RAND()
LIMIT 10");
// 以上代码中的 10 为限制只获取10篇相关文章
// 通过修改数字 10,可修改你想要的文章数量
if ( $related_posts ) {
foreach ($related_posts as $related_post) {
>
<li><a href="<php echo get_permalink($related_post->ID); >" rel="bookmark" title="<php echo $related_post->post_title; >">
<php echo $related_post->post_title; ></a></li>
<php } } else { >
<li>暂无相关文章</li>
<php } } >
</ul>
方法二:根据文章的分类获取相关文章
本方法是通过获取该文章的分类id,然后获取该分类下的文章,来达到获取相关文章的目的。我们用SQL语句来直接读取数据库,随机获取10篇相关文章记录。下面是实现的代码:
<h3>相关阅读推荐</h3>
<ul>
<php
$data = wp_get_post_categories($post->ID);
if ($data) {
$related = $wpdb->get_results("
SELECT post_title, ID
FROM {$wpdb->prefix}posts, {$wpdb->prefix}term_relationships, {$wpdb->prefix}term_taxonomy
WHERE {$wpdb->prefix}postsID = {$wpdb->prefix}term_relationshipsobject_id
AND {$wpdb->prefix}term_taxonomytaxonomy = 'category'
AND {$wpdb->prefix}term_taxonomyterm_taxonomy_id = {$wpdb->prefix}term_relationshipsterm_taxonomy_id
AND {$wpdb->prefix}postspost_status = 'publish'
AND {$wpdb->prefix}postspost_type = 'post'
AND {$wpdb->prefix}term_taxonomyterm_id = '" $data[0] "'
AND {$wpdb->prefix}postsID != '" $post->ID "'
ORDER BY RAND()
LIMIT 10");
if ( $related ) {
foreach ($related as $related_post) {
>
<li><a href="<php echo get_permalink($related_post->ID); >" rel="bookmark" title="<php echo $related_post->post_title; >">
<php echo $related_post->post_title; ></a></li>
<php } } else { >
<li>暂无相关文章</li>
<php } }>
</ul>
方法三:根据作者相关获取文章(这个比较少用,因为基本都是我们自己发的)
该方法是获取该文章作者的其他文章来充当相关文章,代码如下:
<h3>该作者的相关文章</h3>
<ul>
<php
$post_author = get_the_author_meta( 'user_login' );
$args = array(
'author_name' => $post_author,
'post__not_in' => array($post->ID),
'showposts' => 10, // 显示相关文章数量
'orderby' => date, // 按时间排序
'caller_get_posts' => 1
);
query_posts($args);
if (have_posts()) :
while (have_posts()) : the_post(); update_post_caches($posts); >
<li><a href="<php the_permalink(); >" rel="bookmark" title="<php the_title_attribute(); >"><php the_title(); ></a></li>
<php endwhile; else : >
<li>暂无相关文章</li>
<php endif; wp_reset_query(); >
</ul>
以上就是关于如何在wordpress中显示最新更新的文章全部的内容,包括:如何在wordpress中显示最新更新的文章、wordpress如何获取某个分类下的文章、wordpress如何从指定分类里获取文章到另一个分类等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)