如何在WordPress中实现自定义文章归档功能?

玖比肆 WordPress 34

描述如何使用WordPress代码实现自定义文章归档功能的方法和注意事项。

回复

共1条回复 我来回复
  • 玖比肆的头像
    玖比肆 评论

    在 WordPress 中,你可以使用代码实现自定义文章归档功能,以下是实现此功能的方法和注意事项:

    步骤1: 创建一个新的模板

    首选要做的是创建一个新的模板,用于显示你的文章归档页面。在主题文件夹中,创建一个新的文件,将其命名为 archive-custom.php。

    步骤2: 编写归档的 WP_Query

    接下来,你需要编写一个归档的 WP_Query,它将检索所有的文章和文章的发布日期,以创建归档列表。请在 Functions.php 文件中添加以下代码:

    function custom_archive_query( $query ) {
    if ( $query->is_archive() && !$query->is_category() && !$query->is_tag() ) {
    $query->set( 'orderby', 'date' );
    $query->set( 'order', 'DESC' );
    }
    }
    add_action( 'pre_get_posts', 'custom_archive_query' );

    请注意,我们在这里排除了分类和标签,因为它们可以使用默认的归档模板进行显示。

    步骤3: 获取文章归档数据

    接下来,你需要获取所有的归档数据,以便在模板中进行显示。请在 archive-custom.php 模板中添加以下代码:

    $archive_query = new WP_Query( array(
    'posts_per_page' => -1,
    'ignore_sticky_posts' => 1,
    'orderby' => 'date',
    'order' => 'DESC'
    ) );

    $archives = array();

    while ( $archive_query->have_posts() ) : $archive_query->the_post();

    $year = get_the_date( 'Y' );
    $month = get_the_date( 'm' );

    $archives[$year][$month][] = array(
    'permalink' => get_permalink(),
    'title' => get_the_title()
    );

    endwhile;

    wp_reset_postdata();

    请注意,我们将文章按年份和月份进行分组,以便在模板中方便地进行显示。

    步骤4: 在模板中显示文章归档列表

    现在,你已经准备好在自定义归档模板中显示文章列表了。请在 archive-custom.php 模板中添加以下代码:

    $months ) : ?>

      $posts ) : ?>

    请注意,我们在这里使用了 foreach 循环来遍历归档数据,并将文章按照年份和月份进行分组。为了使文章归档更加清晰,我们为每个月份添加了标题和链接列表。

    通过以上步骤,就能实现自定义文章归档功能。请注意,使用自定义归档模板可能会影响主题或其他插件的功能,因此在使用之前一定要备份你的 WordPress 数据库和文件。此外,建议在使用归档模板之前进行测试,以确保它能够正常工作。

    2023年 5月 10日 上午6:08 0条评论
微信客服
分享本页
返回顶部
玖比肆(9Bi4)专注于帮助企业实现数字化转型,提供全方位的网站建设、网络运营、网络推广、网络营销和SEO优化等一系列数字化营销服务。