简而言之,我将一些文章从默认帖子类型移到了自定义帖子类型。现在,可以使用旧的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/

10-11 03:05