为不带标题的自定义帖子类型提供永久链接

时间:2012-12-12 作者:User

我有一个“报告”自定义帖子类型,注册方式如下:

register_post_type(
    \'report\',
    array(
        \'label\' => \'Reports\',
        \'description\' => \'\',
        \'public\' => true,
        \'show_ui\' => true,
        \'show_in_menu\' => true,
        \'capability_type\' => \'post\',
        \'hierarchical\' => false,
        \'rewrite\' => array(\'slug\' => \'\'),
        \'query_var\' => true,
        \'exclude_from_search\' => false,
        \'supports\' => array(\'custom-fields\',\'comments\',\'author\',),
        ...
    )
);
正如你所看到的,我的report 不支持title,但仅限于custom-fields, comments, 和author:

\'supports\' => array(\'custom-fields\',\'comments\',\'author\',)
Hovewer,因为帖子的永久链接通常是这样的:

http://mywebsitename.com/report/the-title
现在我总是得到这样的东西:

 http://mywebsitename.com/report/auto-draft/
我想“自动草稿”是默认情况下为我的报告提供的标题。我不知道如何给出一个合理的permalink。我想根据custom-fields.

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

I have no idea how to give a reasonable permalink.
给它一个标题。除了永久链接外,你不必使用标题,而且很可能也会在页面标题中使用,但因为它已经在永久链接中公开了,我看不出有什么害处。如果你不想,你永远不必把它打印到其他地方。不是为了装腔作势,但这是显而易见的解决方案,然后一切或多或少都会到位。

“标题”不是你可以轻易选择的。例如,您如何在“编辑”屏幕上识别报告?这些可能都应该说“自动拔模”,对吧?或者是非常接近的?页面标题——在这个页面上,它看起来像“插件开发——给…”通常设置为帖子标题或从中派生。这一点在大多数搜索引擎的结果中都会出现,所以如果这一点要向公众公开,你真的需要一个像样的标题。如果你不想拥有permalinks,那就不一样了。您需要编写自己的界面来查看报告,但至少部分问题不会发生。

如果您真的想,您可能可以通过挂接到save_post 过滤,这可能会得到一个不错的永久链接。我不认为这将有助于管理屏幕,但与网页标题。您还应该能够在管理编辑面板中使用slug-slug,但这需要编写更多的代码。

请重新考虑您不使用标题的决定。这个决定花费了你不少精力,我看不出有什么好处。

结束

相关推荐