我有一个“报告”自定义帖子类型,注册方式如下:
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
.
最合适的回答,由SO网友:s_ha_dum 整理而成
I have no idea how to give a reasonable permalink.
给它一个标题。除了永久链接外,你不必使用标题,而且很可能也会在页面标题中使用,但因为它已经在永久链接中公开了,我看不出有什么害处。如果你不想,你永远不必把它打印到其他地方。不是为了装腔作势,但这是显而易见的解决方案,然后一切或多或少都会到位。
“标题”不是你可以轻易选择的。例如,您如何在“编辑”屏幕上识别报告?这些可能都应该说“自动拔模”,对吧?或者是非常接近的?页面标题——在这个页面上,它看起来像“插件开发——给…”通常设置为帖子标题或从中派生。这一点在大多数搜索引擎的结果中都会出现,所以如果这一点要向公众公开,你真的需要一个像样的标题。如果你不想拥有permalinks,那就不一样了。您需要编写自己的界面来查看报告,但至少部分问题不会发生。
如果您真的想,您可能可以通过挂接到save_post
过滤,这可能会得到一个不错的永久链接。我不认为这将有助于管理屏幕,但与网页标题。您还应该能够在管理编辑面板中使用slug-slug,但这需要编写更多的代码。
请重新考虑您不使用标题的决定。这个决定花费了你不少精力,我看不出有什么好处。