微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在搜索中重写自定义帖子类型 URL

如何解决在搜索中重写自定义帖子类型 URL

我有一个网站,其中有自定义帖子类型(来自 CoAuthors Plus 的客座作者)。使用 a plugin,我设法使自定义类型的“客座作者”帖子可通过 wordpress 旧版搜索进行搜索

现在,作者已正确显示搜索结果中。但是,它们链接错误页面 /?post_type=guest-author&p=2148,导致 404。

我希望能够获取 URL、解释它并重定向到正确的页面(采用 /archives/author/name-surname/ 的形式。

我正在尝试使用重写 URL 使其工作,但我无法捕获数据并制定重写。

解决方法

以下代码更改了 guest-authors 的永久链接。它使用来自 CoAuthor 插件的方法来输出访客作者链接。

至少现在您拥有符合插件意图的正确链接。

它们将采用以下形式:

{site_url}/author/{author_slug}

这是包含在functions.php中的代码:

function adjust_permalink($permalink,$post){
    $post_type = get_post_type($post);
    if($post_type === 'guest-author'){
        global $coauthors_plus;
        $author = $coauthors_plus->get_coauthor_by('ID',$post->ID);
        $permalink = get_author_posts_url( $author->ID,$author->user_nicename );
    }
    return $permalink;
}
add_filter('post_type_link','adjust_permalink',10,2);

现在,您应该能够为主题中的作者创建模板 php 文件:author.php

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。