如何在wordpress中显示最新更新的文章

如何在wordpress中显示最新更新的文章,第1张

在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如何从指定分类里获取文章到另一个分类等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9267467.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存