Wordpress gövde etiketi için özel bir sınıf adını ekleyin?

4 Cevap php

Ben wordpress gövde etiketi için bir classname ekler benim temanın functions.php dosyasına bir direktif yerleştirmek istiyorum. Bunun için yerleşik bir API yöntem var mı?

Örneğin, benim vücut etiket kodu ...

<body <?php if(function_exists("body_class") && !is_404()){body_class();} else echo 'class="page default"'?>>

Ve bu (sayfa, yazı, açmış, vb sayfa sunulduğu bağlam bağlı gövde etiketi () yazılı olan aşağıdaki sonuçları

<body class="home blog logged-in"> 

Ben zaman kullanıyorum çocuk temasına bağlı olarak, ben olmak istiyorum ...

<body class="home blog logged-in mychildthemename"> 

4 Cevap

Bunu gibi, body_class filtre kullanabilirsiniz:

function my_plugin_body_class($classes) {
    $classes[] = 'foo';
    return $classes;
}

add_filter('body_class', 'my_plugin_body_class');

Açıkçası, tema gelen body_class işlevini çağırmak gerekiyor rağmen.

Ayrıca vücut sınıfı içindeki dize ekler WP body_class işlevi içinde doğrudan kullanabilirsiniz.

örn.

$class="custom-class";
<body <?php body_class($class); ?>>

http://codex.wordpress.org/Function_Reference/body_class

Eğer Yönetici alanında, yerine admin_body_class kanca kullanmayı unutmayın ise gövde etiketi sınıfları eklemek için çalışıyoruz. Bunun yerine bir dizi daha sınıfların bir dize geçer, böylece kodunuzu bu gibi görünür, çünkü biraz daha farklı çalışan bir filtre olduğunu unutmayın:

add_filter('admin_body_class', 'my_admin_body_class');
function my_admin_body_class($classes) {
    return $classes . ' my_class';
}

Sadece temanın header.php düzenlemek ve (elle veya bazı önceden belirlenmiş mantık kurallarına göre) orada sınıfını değiştirmek.