如何解决在搜索中重写自定义帖子类型 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 举报,一经查实,本站将立刻删除。