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

我的帖子永久链接在 Wordpress 中始终相同

WordPress - 无法从自定义帖子类型中的元框获取价值

自定义 WordPress 永久链接结构

如何获取在 Wordpress 中按类别过滤的自定义帖子类型的永久链接?