2

我正在尝试将我的 WordPress 主页自动重定向到最新文章。目前我使用 Spencer Cameron 建议的重定向

function redirect_homepage() {
    if( ! is_home() && ! is_front_page() )
        return;

    wp_redirect( 'http://homepage.com/article1', 301 );
    exit;
}

add_action( 'template_redirect', 'redirect_homepage' );

现在,如果我发布第 2 篇文章,我希望主页自动连接到第 2 篇文章,而无需我调整 functions.php。

我不希望用户看到www.example.com但只有文章,因此在访问页面时总是会重定向到最新文章。

但是:即使已经
有.www.example.com/article1www.example.com/article2

我怎样才能实现这个目标?

4

2 回答 2

0

答案在Get the ID of the latest post 中:做一个简单的查询来获取一篇文章(默认按最新排序),然后获取它的永久链接并重定向。

不要把这种类型的代码放在 functions.php 中,创建你自己的迷你插件来做。如果要禁用此功能,只需禁用插件,而不是编辑文件。

<?php
/* Plugin Name: Redirect Homepage */

add_action( 'template_redirect', 'redirect_homepage' );

function redirect_homepage() 
{
    if( ! is_home() && ! is_front_page() )
        return;

    // Adjust to the desired post type
    $latest = get_posts( "post_type=post&numberposts=1" );
    $permalink = get_permalink( $latest[0]->ID );

    wp_redirect( $permalink, 301 );
    exit;
}
于 2013-09-22T15:11:57.580 回答
0

朋友的一个解决方案:将模板文件夹中的 index.php 替换为以下内容:

<?php global $query_string; query_posts($query_string.'&posts_per_page=1');  ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php header('Location: '.get_permalink()); ?>
<?php endwhile; ?>

谢谢你的协助

于 2013-09-22T17:03:50.860 回答