Wordpress 从自定义帖子中删除永久链接但保留存档
Posted
技术标签:
【中文标题】Wordpress 从自定义帖子中删除永久链接但保留存档【英文标题】:Wordpress remove permalink from custom posts but retain archive 【发布时间】:2018-07-07 21:47:06 【问题描述】:我有一个 Wordpress 网站,我在其中使用称为“出版物”的自定义帖子类型存档来跟踪出版物。每个发布帖子不应该有自己的页面,它只需要出现在存档页面中。现在,当我创建一个名为“测试出版物”的出版物时,会在www.mysite.com/publications/test-publication
创建一个页面。我看到了将帖子选项 public
更改为 false
的建议,但我无法访问存档本身,它只是重定向到主页。如果我在public => false
之外添加publicly_queryable => true
,那么我可以进入存档页面,但每个出版物的专用页面会再次出现。如果我尝试访问 www.mysite.com/publications/test-publication
但仍允许我访问存档,我需要它给我一个 404。帮助,我错过了什么明显的东西吗?
【问题讨论】:
【参考方案1】:您可以添加模板重定向,以便在访问时将单个链接重定向到存档页面:
add_action( 'template_redirect', 'disable_singular_publications' );
function disable_singular_publications()
if ( ! is_singular( 'publications' ) )
return;
wp_redirect( get_post_type_archive_link( 'publications' ), 301 );
exit;
您可以在 functions.php 中添加上述函数,代码未经测试,因此您可能需要检查任何拼写错误或语法错误。
【讨论】:
谢谢,这似乎已经完成了我需要的工作!您是否认为由于 301 这会对搜索引擎结果产生负面影响?理想情况下,只要有人搜索存档页面上的关键字,它仍然会生成指向存档页面的链接。以上是关于Wordpress 从自定义帖子中删除永久链接但保留存档的主要内容,如果未能解决你的问题,请参考以下文章
php 从发布的帖子永久链接 - Wordpress中删除slug
将类别添加到永久链接时,WordPress CPT 会导致 404