我想显示具有特定html / css属性的最新帖子。然而,我当前的解决方案只显示帖子的标题和网址(没有日期或摘录)。
这是我在functions.php中调用action.php中的“函数版本#1”代码:
function latest_article() {
$content_latest_php = "";
$query_latest_article = wp_get_recent_posts( array(
'numberposts' => 1
));
foreach ( $query_latest_article as $post) {
$content_latest_php = get_template_part( 'content-latest', get_post_format() );
};
return $content_latest_php;
};
这是我的“功能版本#2”,尝试使用不同的方式来实现相同的目标:
function latest_article() {
$args = array(
'post_type' => 'post',
'posts_per_page' => 1,
'orderby' => 'date',
'order' => 'DESC'
);
$query_latest_post = new WP_Query( $args );
if ( $query_latest_post->have_posts() ) {
while ( $query_latest_post->have_posts() ) {
$query_latest_post->the_post();
get_template_part( 'content-latest', get_post_format() );
}
}
wp_reset_postdata();
};
这是content-latest.php:
<div class="article-latest">
<a class="article-link" href="<?php the_permalink() ?>">
<img class="article-latest-image" src="<?php bloginfo('template_directory');?>/img/article-thumbnail.png"></img>
<div class="article-latest-date"><?php get_the_date(); ?></div>
<div class="article-latest-title"><?php the_title(); ?></div>
<div class="article-latest-text" href="<?php the_permalink() ?>"><?php get_the_excerpt() ?></div>
</a>
</div>
这是我在使用代码检查器查看网站时收到的结果:
<div class="article-latest">
<a class="article-link" href="http://mywebsite.com/the-latest-post/">
<img class="article-latest-image" src="http://mywebsite.com/wp-content/themes/nameofthetheme/img/article-thumbnail.png"></img>
<div class="article-latest-date"></div>
<div class="article-latest-title">The name of the latest post</div>
<div class="article-latest-text" href="http://mywebsite.com/the-latest-post/"></div>
</a>
</div>
^没有加载日期和摘录。那是为什么?
答案 0 :(得分:0)
您正在使用get_the_excerpt()
和get_the_date()
:这两个函数返回相关信息,但他们不输出它。< / em>所以你需要echo
:
<?php
echo get_the_date();
echo get_the_excerpt();
?>
或者使用实际输出的这些功能:
<?php
the_date();
the_excerpt();
?>
WordPress经常使用这个约定;如果函数以get
- get_the_title()
,get_the_date()
等开头,则通常会返回而不是输出它。以the
开头的函数通常输出与循环中的当前帖子有关。
举一个例子:如果您要查看the_exerpt()
的来源,您会发现它实际上是get_the_excerpt()
:
function the_excerpt() {
/**
* Filters the displayed post excerpt.
*
* @since 0.71
*
* @see get_the_excerpt()
*
* @param string $post_excerpt The post excerpt.
*/
echo apply_filters( 'the_excerpt', get_the_excerpt() );
}
答案 1 :(得分:0)
您可以在内容最新主题文件中尝试此操作
<div class="article-latest">
<a class="article-link" href="<?php the_permalink() ?>">
<img class="article-latest-image" src="<?php bloginfo('template_directory');?>/img/article-thumbnail.png"></img></a>
<?php the_date()('Y-m-d', '<div class="article-latest-date">', '</div>'); ?>
<div class="article-latest-title" href="<?php the_permalink() ?>"><?php the_title(); ?></a></div>
<div class="article-latest-text"><?php the_excerpt() ?></div>
</div>