2011-07-18 16 views
6

Fonksiyonlarımı tek bir wordpress kategorisine uygulayabilmem için, fonksiyonum.php dosyasına eklediğim şu kodu sınırlamanın bir yolu var mı? WordPress functions.php'de kodu tek bir kategoriye uygulama

<?php remove_filter('the_content', 'wpautop'); ?> 

Bunu denedim, ancak işe görünmüyordu:

<?php if (in_category('work')) { remove_filter('the_content', 'wpautop'); } ?> 

Ben de belirli kategori şablonda kodu doğrudan yerleştirerek bu sorunu çözmüş olduğunu eklemek gerekir, ama ben d filtreyi işlevlerim dosyasında tutmayı tercih ederim.

Teşekkürler!

+1

Kategori şablonu yerine single.php dosyasına eklemeniz gerekeceğini düşünüyorum. En iyi yol, başlık dosyasınıza eklemek, böylece tüm sayfalara uygulanacak. Bunu neden tetiklediğimi bilmiyorum, işlevler. 0p – Tarun

+0

. init sonra veya daha önce? – Tarun

cevap

0

Fonksiyonlarınız .php, dizin ve kategori sayfalarınız gibi mevcut isteğin farkında değil. Eğer bu kimliği Bir kez

$url = explode('?', 'http://'.$_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]); 
$ID = url_to_postid($url[0]); 

: functions.php bu kod çalışması için geçerli url alakalı WP_Query işlevini yüklemek için ham sunucu değişkenler kapmak ve onlar aracılığıyla ayrıştırmak gerekecek sorgu döngüsünü yapabilir ve filtrelerinizi kategoriye göre tetikleyebilir.

1

pre_get_postsaction'a bağlanmak isteyeceğinize inanıyorum. Sorgu dizesi ayrıştırıldıktan hemen sonra ateşlenir. Şartların hepsi değil, bazıları kurulur. In_category() 'in bunlardan biri olup olmadığını test edebilirsiniz, ancak bunun önemli olduğunu düşünmüyorum. Niye ya? Sorduğuna sevindim.

Kanca size category_name numaralı özelliğe sahip sorgu nesnesini iletecektir. Yapmanız gereken tek şey, kategorinizin olup olmadığını kontrol etmektir ve eğer varsa filtrenizi ateşleyin. Bunun gibi bir şey: Bu tamamen test edilmemiştir. Bu, tamamen test edilmemiştir. Ama ne yaptığınızı bildiğinizden, sizi doğru yola koymanız yeterli olacaktır.

+0

Kodunuzda bir hata var "Uyarı: Tanımsız özellik: WP_Query :: $ category_name" –

+0

Yanıt, OP'in görevini tamamlamak için kullanması gereken modelin bir örneğidir. Test edilmediğini ve is_set() gibi açıkça başka kontrollerin yapılması gerektiğini not ettim. Kodunuzu görmeden, doğru ya da yanlış ne yaptığınızı gerçekten bilmiyorum. Sorun yaşıyorsanız yeni bir soru oluşturmayı deneyebilirsiniz. Ayrıca, WP belgelerine göre, "pre_get_posts, WP_Query kurulmadan önce çalışır". – Shelton