我的帖子都是带有页面内容和图片等的完整帖子。然后我还有可能在将来发布的帖子,我仍然想在我的分类页面上列出这些帖子,但这些帖子还没有内容,也不值得拥有自己的页面。我希望能够将它们的slug设置为nothing,或者设置为可以查询的标准“null”类型的值,这样就不会向页面存根添加链接。
我在这个主题上找到的所有东西都是关于如何删除自定义post类型的slug或Wordpress文档中的存根。
有没有办法制作实际上没有永久链接的“存根”帖子?(db中没有post\\U名称)
感谢阅读。
Edit
澄清一下,我并不是要对公众隐瞒这些帖子。我希望它们显示在我的分类页面上,没有指向单个帖子页面的链接。除了没有链接之外,它们应该像一篇完整的、完成的文章。从概念上讲,它们是已发表的帖子,只是还没有充实起来。
然而,在某些地方,我需要能够分别查询所有已完成的帖子或所有存根。
Why?
我有一张地图,上面显示了所有贴子、成品和存根的位置。我希望它们都能显示在地图上,但只有那些写得完整的才应该有一个指向“单一”页面的链接。存根应该只显示在地图上,而没有链接。在将来的某个时候,我会回到一些存根并写更多关于它们的内容,届时它们也会得到一个链接。
我认为,将slug留空是一种透明的方式,表明存根没有自己的页面。我还担心,当我试图列出存根时,将其标记为草稿会产生后果。
我还在工作流程中使用post状态,因此将草稿状态重新用于实际草稿状态以外的其他状态会导致混淆。我将改用Review Pending,但也许您可以理解为什么我要寻找更多的解决方案,而不是解决方法。
TL;博士
最合适的回答,由SO网友:Sarah Kemp 整理而成
add_filter(\'wp_unique_post_slug\', \'my_unique_slug\', 1, 5);
function my_unique_slug($slug, $post_ID, $post_status, $post_type, $post_parent = 0){
$p = get_post_field(\'post_content\', $post_ID);
if($p){
return $slug;
}
return \'NULL\';
}
这基本上覆盖了Wordpress的默认唯一post slug逻辑,并允许您复制“NULL”值。不幸的是,如果您不为slug赋予一些值,它将忽略一个空白或真空值,并使用Wordpress的自动slug创建逻辑。然而,在不影响工作流的情况下,仍然可以很容易地将存根与页面区分开来,并且可以很容易地按名称查询帖子。
FWIW发送给未来的搜索者。
这个问题中的其他帖子建议不要删除slug或覆盖它。我想这就是为什么它被否决的原因。