我正在使用一个外部插件(不是我自己的CPT)来管理博客永久链接结构为/news/%category%/%postname%/
通常对于CPT,我可以在创建CPT时将prepend with front设置为FALSE,但在这种情况下,我不知道如何设置,因为插件控制定义。
开发人员向我发送了下面的代码段,但它在正确更改slug(实际上会中断事件永久链接)或将\\u front设置为false时都不起作用:
//
// EVENTON Calendar SLUG correction
//
//
add_filter(\'eventon_register_post_type_ajde_events\', \'fix_event_slug\', 10, 1);
function fix_event_slug($array){
$newar = $array;
$newar[\'rewrite\']= array( \'with_front\'=>false, \'slug\'=>\'events\' ); //
// print_r($newar); return $newar; // test
}
非常感谢您的帮助。
SO网友:Domain
正如Mark所解释的,您需要返回$newvar。这应该行得通。此外,请重新设置永久链接一次。(我的意思是,转到仪表板中的永久链接部分,单击“保存更改”按钮而不做任何更改。它将刷新重写规则并重新构建它们。)
若它仍然不起作用,那个么我认为下面的代码片段可能会有所帮助。检查是否有效。我找到了here
add_filter(\'eventon_register_post_type_ajde_events\', \'fix_event_slug\', 10, 1);
function fix_event_slug($arr){
$new_ar = array(\'rewrite\' => array(\'with_front\'=>false, \'slug\'=>\'events\'));
return array_merge($arr, $new_ar);
}
添加以上部分后,请重置永久链接。