秒鲨号一直用的是justnews主题,所以也会用到快讯这个功能,但是官方给出的快讯详情页很单调,没有边栏,也不显示网站其他文章,今天特意去找客服询问快讯页面调用最新发布的文章的方式,但是客服回复主题没有这种功能,那么要实现这个目的,就需要自己写代码了。
原本的快讯页面是这样的,很单调,如图:
接下来我们将网站最新发布的文章显示在快讯详情页的底部,根据justnews主题现存的css来构造:
首先在主题文件夹创建一个single-list.php文件,写入以下代码:
<?php
$args = array(
'posts_per_page' => 10, // 指定返回的文章数量
'orderby' => 'date', // 根据日期排序
'order' => 'DESC', // 降序排列
);
// WP_Query查询
$the_query = new WP_Query($args);
// 循环显示文章
if ($the_query->have_posts()) {
echo '<div class="entry-related-posts">';
echo '<h3 class="entry-related-title">最新资讯</h3>';
echo '<ul class="entry-related cols-3 post-loop post-loop-default">';
while ($the_query->have_posts()) {
$the_query->the_post();
// 获取文章的缩略图URL
$thumbnail = get_the_post_thumbnail(get_the_ID(), 'thumbnail');
// 获取文章的分类信息
$categories = get_the_category();
$category_link = !empty($categories) ? get_category_link($categories[0]->term_id) : '';
$category_name = !empty($categories) ? $categories[0]->name : '';
// 获取作者信息
$author_id = get_the_author_meta('ID');
$author_url = get_author_posts_url($author_id);
$author_name = get_the_author();
$author_avatar = get_avatar_url($author_id);
// 获取文章发布时间
$time_string = human_time_diff(get_the_time('U'), current_time('timestamp')) . '前';
// 获取文章标签
$tags_list = get_the_tag_list('', '');
echo '<li class="item">';
echo '<div class="item-img">';
echo '<a class="item-img-inner" href="' . get_permalink() . '" title="' . get_the_title() . '" target="_blank" rel="bookmark">';
if (!empty($thumbnail)) {
echo $thumbnail; // 显示缩略图
}
echo '</a>';
if ($category_link && $category_name) {
echo '<a class="item-category" href="' . $category_link . '" target="_blank">' . $category_name . '</a>';
}
echo '</div>';
echo '<div class="item-content">';
echo '<h3 class="item-title">';
echo '<a href="' . get_permalink() . '" target="_blank" rel="bookmark">' . get_the_title() . '</a>';
echo '</h3>';
echo '<div class="item-excerpt">';
echo '<p>' . get_the_excerpt() . '</p>';
echo '</div>';
echo '<div class="item-meta">';
echo '<div class="item-meta-li author">';
echo '<a data-user="' . $author_id . '" target="_blank" href="' . $author_url . '" class="avatar j-user-card">';
echo '<img alt="' . $author_name . '的头像" src="' . $author_avatar . '" class="avatar avatar-60 photo" height="60" width="60">' . $author_name;
echo '</a>';
echo '</div>';
echo '<span class="item-meta-li date">' . $time_string . '</span>';
echo '<div class="item-tagli">' . $tags_list . '</div>';
echo '</div>'; // .item-meta
echo '</div>'; // .item-content
echo '</li>'; // .item
}
echo '</ul>';
echo '</div>';
} else {
// 没有找到文章时的处理
echo '没有找到文章。';
}
// 重置文章数据
wp_reset_postdata();
?>
接着打开快讯详情页的文件single-kuaixun.php,接着在文件底部</article>上方加入引用代码:
<!--快讯底部文章列表-->
<?php get_template_part('single-list');?>
<!--快讯底部文章列表-->
简单两步就实现了快讯底部增加最新发布文章,来看一下效果:
这样蜘蛛在访问快讯详情页的也会及时发现你网站新发布的文章,增加文章在搜索引擎的曝光度,进而增加收录的几率。
大家可以看到我的文章列表也会显示文章tag标签,如果你也想实现这个功能,可以借鉴《justnews主题文章列表页如何显示文章tag标签?》,非常的简单,另外需要注意,每次更新主题,修改过的文件都会被覆盖,建议大家启用子主题功能,这样下次更新justnews主题,修改过的文件就不会被覆盖了。
以上就是今天给大家带来的justnews主题任意页面调用最新发布文章的方法,学会这个方法,你就可以在你的任何页面来调用文章啦~~
本内容由作者【无涯探索】自发贡献,版权归原作者所有,秒鲨号仅提供存储服务,不承担相应的法律责任。如您发现有涉嫌抄袭侵权的内容,请发送举报信息至邮箱:ddzpay@hsrjtk.com,我们将尽快核实处理。
更多精彩内容请点击→最新资讯