简而言之,我将一些文章从默认帖子类型移到了自定义帖子类型。现在,可以使用旧的www.example.com/articleurl/
和新的www.example.com/blog/articleurl/
网址访问我的文章。
有一个问题:客户端添加了一个URL为“2093”的文章。而且可以使用www.example.com/blog/2093/
进行访问。但是,当我尝试使用www.example.com/2093/
来获取它时,wordpress尝试获取2093年或类别的文件(顺便说一句,没有此类),然后重定向到索引页面。
那么如何解决呢?
不,我无法更改本文的网址。我需要将其保留为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();
您必须调整循环以匹配您在single.php或blog-single.php中使用的任何布局和结构。这里的概念是为2093年创建一个特定的存档,然后仅执行自定义查询以返回您的帖子。
只要记得在2093年更新您的代码即可。
关于WordPress试图获取不存在类别的文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38807985/