function custom_post_permalink_structure( $permalink, $post, $leavename ) {
// Check if the post is published and is of the 'post' post type
if ( $post && $post->post_type == 'post' && $post->post_status == 'publish' ) {
// Append '/blog/' to the permalink
$permalink = home_url( '/blog/' . $post->post_name . '/' );
}
return $permalink;
}
add_filter( 'post_link', 'custom_post_permalink_structure', 10, 3 );
add_filter( 'post_type_link', 'custom_post_permalink_structure', 10, 3 );
//prevention 404 & pagination issue
add_action( 'generate_rewrite_rules', 'add_blog_rewrites' );
function add_blog_rewrites( $wp_rewrite ) {
$wp_rewrite->rules = array(
'blog/([^/]+)/?$' => 'index.php?name=$matches[1]',
'blog/[^/]+/attachment/([^/]+)/?$' => 'index.php?attachment=$matches[1]',
'blog/[^/]+/attachment/([^/]+)/trackback/?$' => 'index.php?attachment=$matches[1]&tb=1',
'blog/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$' => 'index.php?attachment=$matches[1]&feed=$matches[2]',
'blog/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$' => 'index.php?attachment=$matches[1]&feed=$matches[2]',
'blog/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$' => 'index.php?attachment=$matches[1]&cpage=$matches[2]',
'blog/([^/]+)/trackback/?$' => 'index.php?name=$matches[1]&tb=1',
'blog/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$' => 'index.php?name=$matches[1]&feed=$matches[2]',
'blog/([^/]+)/(feed|rdf|rss|rss2|atom)/?$' => 'index.php?name=$matches[1]&feed=$matches[2]',
'blog/([^/]+)/page/?([0-9]{1,})/?$' => 'index.php?name=$matches[1]&paged=$matches[2]',
'blog/([^/]+)/comment-page-([0-9]{1,})/?$' => 'index.php?name=$matches[1]&cpage=$matches[2]',
'blog/page/?([0-9]{1,})/?$' => 'index.php?post_type=post&paged=$matches[1]',
'blog/[^/]+/([^/]+)/?$' => 'index.php?attachment=$matches[1]',
'blog/[^/]+/([^/]+)/trackback/?$' => 'index.php?attachment=$matches[1]&tb=1',
'blog/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$' => 'index.php?attachment=$matches[1]&feed=$matches[2]',
'blog/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$' => 'index.php?attachment=$matches[1]&feed=$matches[2]',
'blog/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$' => 'index.php?attachment=$matches[1]&cpage=$matches[2]',
) + $wp_rewrite->rules;
}