php - Wordpress 如何过滤 URL 中的多个自定义 post_type
问题描述
在我的 WordPressv5.6
中,我在 Author 页面中使用以下代码来显示来自自定义songpost_type
的所有当前作者的帖子。
<?php
$author_page_link = esc_url(get_author_posts_url(false, ID->user_nicename));
?>
<a href="' . $author_page_link . '?post_type=song">All Songs</a>
上面的链接将过滤当前作者的所有歌曲,其 URL 如下:
http://www.music.com/author/current_author/?post_type=song
我想在过滤器页面中显示作者的“歌曲”和“诗歌”自定义帖子。
我试过下面的链接,没有运气:
<a href="' . $author_page_link . '?post_type=song+poem">All</a>
<a href="' . $author_page_link . '?post_type=song&post_type=poem">All</a>
我怎样才能有一个链接来过滤来自单个作者的多个自定义帖子的帖子?
更新 1
我使用的是archive-song.php
模板,这就是为什么song
页面中只显示自定义帖子的原因。
将以下 URL 与 一起使用时?post_type=song+poem
,archive.php
仅在模板层次结构中,URL 重定向到author.php
.
http://www.music.com/author/current_author/?post_type=song+poem
如果我将以下 URL 与 一起使用?post_type=song&post_type=poem
,archive.php
仅在模板层次结构中,则仅post_type
过滤最后的结果(可以是诗歌或歌曲,以最后一个查询为准)。
http://www.music.com/author/current_author/?post_type=song&post_type=poem
更新 2
这是我的作者页面 ( https://pastebin.com/kCrYebcD )。此页面仅显示所有帖子类型的当前作者的最新 10 篇帖子。
这是我的存档页面 ( https://pastebin.com/twkWn5Bc )。在这里,我想显示来自所有帖子类型的作者的所有帖子。
解决方案
要通过 URL 参数包含多个帖子类型,您需要将其声明为数组。
您的网址应如下所示:
echo '<a href="' . $author_page_link . '?post_type[]=song&post_type[]=poem">All</a>';
这应该适合你。
推荐阅读
- shell - 如何在 shell 脚本中执行 ccm cqlsh 命令,如 INSERT、CREATE 和 SEELCT?
- django - Wagtail 网站无法使用 DigitalOcean Spaces 加载媒体文件
- css - 设置宽度时 Flex 无法正确对齐
- javascript - 在 ionic 3 中提交后未显示评论
- rest - 使用 Azure 组件定期调用 REST API
- php - 想要将 order_ids 的数组作为单独的插入在 mysql db 中一一插入
- python - 在 Python 的类中重新分配关键字参数
- python - 经纬度 python 类型转换错误无法转换为浮点数(第二次尝试)
- android - 膨胀类 com.nirhart.parallaxscroll.views.ParallaxScrollView 时出错
- c# - 将一个变量传递给多个用户控件 - WPF