📅  最后修改于: 2023-12-03 15:35:44.042000             🧑  作者: Mango
在 WordPress 中,如果您想要在帖子末尾显示类似的帖子,可以使用以下功能。
首先,获取当前帖子的标签和类别是必要的。可以使用以下代码获取当前帖子的类别。
// 获取当前帖子的类别
$categories = get_the_category();
获取当前帖子的标签可以使用以下代码。
// 获取当前帖子的标签
$tags = get_the_tags();
通过获取当前帖子的类别和标签,可以创建一个新的循环来显示类似的帖子。可以使用以下代码创建新循环。
<?php
// 获取当前帖子的类别
$categories = get_the_category();
// 检查类别是否存在
if ( $categories ) {
// 获取当前帖子的第一个类别ID
$category = $categories[0]->term_id;
// 设置参数
$args = array(
'cat' => $category,
'posts_per_page' => 3,
'post__not_in' => array( get_the_ID() ),
);
// 创建新循环
$query = new WP_Query( $args );
// 循环类似的帖子
if ( $query->have_posts() ) {
echo '<h2>类似的帖子</h2>';
echo '<ul>';
while ( $query->have_posts() ) {
$query->the_post();
echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
}
echo '</ul>';
}
// 重置主循环
wp_reset_postdata();
}
?>
此代码将显示与当前帖子的第一个类别相同的三篇帖子,不包括当前帖子。可以根据需要更改参数。
在循环类似的帖子之前,需要通过将当前帖子的 ID 添加到 post__not_in
数组中来避免重复。
'post__not_in' => array( get_the_ID() ),
以下是完整的 PHP 代码,用于在 WordPress 中显示类似的帖子。
<?php
// 获取当前帖子的类别
$categories = get_the_category();
// 检查类别是否存在
if ( $categories ) {
// 获取当前帖子的第一个类别ID
$category = $categories[0]->term_id;
// 设置参数
$args = array(
'cat' => $category,
'posts_per_page' => 3,
'post__not_in' => array( get_the_ID() ),
);
// 创建新循环
$query = new WP_Query( $args );
// 循环类似的帖子
if ( $query->have_posts() ) {
echo '<h2>类似的帖子</h2>';
echo '<ul>';
while ( $query->have_posts() ) {
$query->the_post();
echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
}
echo '</ul>';
}
// 重置主循环
wp_reset_postdata();
}
?>
通过使用上述代码,可以在 WordPress 中显示类似的帖子。可以根据需要更改参数,以获取更多或更少的帖子。此功能可以提高用户体验,帮助用户发现他们可能感兴趣的其他内容。