我有一个带有自定义分类法的自定义帖子类型。我没有在页面上链接到分类法,但是任何人都可以从管理员那里访问分类法/术语url,并且可以看到未设置样式的列表页面。如何强制wp不使用该列表的默认布局(index.php)?最好的方法是什么?例如,我创建了一个分类法模板,并将其重定向到首页?
我的自定义分类不需要‘view’页面
2 个回复
SO网友:chrisguitarguy
如果您只想“关闭”分类法中面向公众的部分(例如,仅用于分组),您可以在register it.
只需设置query_var
参数到false
WordPress不会识别分类法页面请求,只会识别404。如果没有启用永久链接,这将起作用。
<?php
add_action(\'init\', \'wpse94193_register\');
function wpse94193_register()
{
register_taxonomy(\'your_taxonomy\', \'your_post_type\', array(
// other stuff here...
\'query_var\' => false,
));
}
您还可以通过设置rewrite
参数为false(propsotto).<?php
add_action(\'init\', \'wpse94193_register\');
function wpse94193_register()
{
register_taxonomy(\'your_taxonomy\', \'your_post_type\', array(
// other stuff here...
\'rewrite\' => false,
\'query_var\' => false,
));
}
如果您确实需要允许登录用户查看分类法页面(从问题中看不出来),那就不同了。SO网友:Pat J
查看Template Hierarchy. 如果调用自定义分类法custom_taxonomy
, 您应该能够创建一个名为taxonomy-custom_taxonomy.php
, 它可以包含,例如:
<?php
wp_redirect( home_url() );
exit; // stop processing since we\'re redirecting
?>
(请参见Codex page for wp_redirect()
有关在WordPress中重定向的详细信息。)结束