我假设您已经通过在上定义自定义permalink结构添加了新的permalink结构
https://yoursite.com/wp-admin/options-permalink.php
并添加
/%category%/%postname%/ 在
custom structure 领域这是WordPress默认/建议的方法。
在这之后,你需要
flush 通过保存和
reloading 永久链接设置页面。
这不适用于自定义帖子类型,只适用于WordPress默认帖子类型。对于自定义的帖子类型,您必须应用额外的挂钩或在registering custom post type 作用
您应该阅读WordPress官方文档using permalinks.
Update:
在这种情况下,您可以使用“
404_template“过滤器。
示例:
add_filter( \'404_template\', \'custom_redirect_to_category\' );
function custom_redirect_to_category($template) {
if ( ! is_404() ){
return $template;
}
global $wp_rewrite;
global $wp_query;
if ( \'/%category%/%postname%/\' !== $wp_rewrite->permalink_structure ){
return $template;
}
if ( ! $post = get_page_by_path( $wp_query->query[\'category_name\'], OBJECT, \'post\' ) ){
return $template;
}
$permalink = get_permalink( $post->ID );
wp_redirect( $permalink, 301 );
exit;
}