Wordpress试图获取不存在类别的存档

Wordpress试图获取不存在类别的存档,wordpress,Wordpress,简而言之,我将一些文章从默认文章类型移动到了自定义文章类型。现在,可以使用旧的www.example.com/articleurl/和新的www.example.com/blog/articleurl/URL访问我的文章 有一个问题:客户端添加了一篇url为“2093”的文章。您可以使用www.example.com/blog/2093/访问它。但是,当我尝试使用www.example.com/2093/wordpress获取2093年的档案或类别(顺便说一下,没有这样的类别),然后重定向到索引

简而言之,我将一些文章从默认文章类型移动到了自定义文章类型。现在,可以使用旧的
www.example.com/articleurl/
和新的
www.example.com/blog/articleurl/
URL访问我的文章

有一个问题:客户端添加了一篇url为“2093”的文章。您可以使用
www.example.com/blog/2093/
访问它。但是,当我尝试使用
www.example.com/2093/
wordpress获取2093年的档案或类别(顺便说一下,没有这样的类别),然后重定向到索引页

那么如何解决这个问题呢

不,我不能更改这篇文章的url。我需要离开它
2093


是的,我需要我的站点的这个层次结构,我需要自定义帖子类型。

在主题根目录中创建一个名为archive-2093.php的文件,并添加以下代码:

<?php

$args = array (
    'name'         => '2093',
    'post_type'    => array( 'blog' ),
);


$query = new WP_Query( $args );

if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
        //  adapt the following to suit the formatting and fields of your post.

        the_title();
        the_content();

    }
} else {
    // oh no, it didn't work.
}

// Restore original Post Data
wp_reset_postdata();

Wordpress不在/2093上提供页面是有道理的。将页面放在/blog/2093和/2093将被视为重复内容,这是不明智的SEO建议。(可以使用规范标记修复)

上面的解决方案建议您使用一个新的模板文件,这将在维护中增加。我的建议是简单地添加一个从/2093到/blog/2092的重定向。在Wordpress尝试将其解析为存档之前,此重定向应该可以工作。您可以在.htaccess文件中执行此操作,但我建议使用重定向插件。(Yoast已将此包括在内)


如果需要URL as/2093,只需将其添加为常规页面而不是博客项目。

Viper007Bond创建了一个插件,可以帮助解决您的问题

此外,如果您共享正在使用的permalink结构,这将非常有用

祝你好运