📜  wordpress 显示类似的帖子 (1)

📅  最后修改于: 2023-12-03 15:35:44.042000             🧑  作者: Mango

WordPress 显示类似的帖子

在 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 中显示类似的帖子。可以根据需要更改参数,以获取更多或更少的帖子。此功能可以提高用户体验,帮助用户发现他们可能感兴趣的其他内容。