WordPress’in body_class()
işlevi standart tüm temalarda vardır ve varsayılan olarak <body class="pageid-1 page-parent page-template-default logged-in">
şeklinde class ekler.
Kullandığınız WordPress temasını geliştirmek veya yeni bir tema yazarken kullanmak için aşağıda benim örneklerimden esinlenebilir ve faydalanabilirsiniz.
body_class()
için filtre örneği şu şekildedir:
add_filter('body_class',function($classes){
$classes[]='bu-benim-class';
return $classes;
});
Yukarıdaki örnekte tüm sayfalara ek olarak istediğiniz bir(veya birden fazla) class eklenir.
Örneğimizi biraz geliştirirsek aşağıdakiler de işinize yarayabilir:
add_filter('body_class',function($classes){
if(is_home() || is_front_page()):
$classes[]='ana-sayfa';
elseif(is_page('bir-sayfam')):
$classes[]='bir-sayfa';
elseif(is_single()):
//istenirse if(in_category('su-kategori-ise')):
$classes[]='tekilsayfa';
elseif(is_arshive()):
$classes[]='arsivler';
else:
$classes[]='diger-her-sey';
endif;
return$classes;
});
Bir farklısı:
function White_theme_body_classes( $classes ){
// Adds a class of blog to blogs with more than 1 published author.
if ( is_multi_author() ){
$classes[] = 'group-blog';
}
// Adds a class of hfeed to non-singular pages.
if ( ! is_singular() ){
$classes[] = 'hfeed';
}
return $classes;
}
add_filter( 'body_class', 'White_theme_body_classes' );
Aynı şeyi post_class()
için de yapabilirsiniz.
Başka benzeri yazılarım:
Kolay gelsin.