Blog yazıları paylaşıyoruz. Blog yazılarında slug yapısının https://www.siteadi.com/blog/blog-yazisi tarzında olması gerekiyor. Permalink yapısında /blog slug eklediğimizde bu sayfalarada etkiliyor. Daha önce chatgpt ile bir kod yazdık çalıştı fakat siteye WPML ile başka diller eklediğimiz zaman o dillerde hata vermeye başladı buna özel bir kod yazabilir miyiz?
(Kategori seçiliyse /kategori-adi/blog-adi kategori seçili değilse /blog/blog-adi şeklinde çalışan

function add_blog_prefix_to_post_link($permalink, $post) {
// Sadece 'post' türündeki yazılar için
if ($post->post_type == 'post') {
// Kategori varsa permalink'e ekle, ancak kategori "Blog" ise slug eklenmeyecek
$category = get_the_category($post->ID);
if (!empty($category) && strtolower($category[0]->slug) !== 'blog') {
$category_slug = $category[0]->slug . '/';
} else {
$category_slug = '';
}
// Mevcut permalink'e /blog/ ve varsa /category/ ekle
$permalink = home_url('/blog/' . $category_slug . $post->post_name . '/');
}
return $permalink;
}
add_filter('post_link', 'add_blog_prefix_to_post_link', 10, 2);
function add_blog_prefix_rewrite_rules($rules) {
$new_rules = array(
'blog/([^/]+)/([^/]+)/?$' => 'index.php?category_name=$matches[1]&name=$matches[2]',
'blog/([^/]+)/?$' => 'index.php?name=$matches[1]',
);
return $new_rules + $rules;
}
add_filter('rewrite_rules_array', 'add_blog_prefix_rewrite_rules');