WordPress RSS beslemesi programlı bir işlev kaldırmak için nasıl?

3 Cevap php

Ben yem-rss2.php görünür the_guid() işlevini kaldırmak için çalışıyorum. Ben denedim remove_action('rss2_item', 'the_guid') veya remove_filter ama hiçbir şey olmuyor. Ben de the_content_rss gibi farklı kanca denedim ...

Bu fonksiyon <item></item> çevrelediği feed-rss2.php hattı 43 üzerinde görüntülenir.

Update

echo current_filter(), bir kanca do_feed_rss2 olduğu bulunmuştur ile. Ama hala işlevini kaldırmak olamaz.

3 Cevap

Eğer bir filtre aracılığıyla bu işlevi çıkışını kılabilirsiniz.

add_filter('get_the_guid','my_get_the_guid');
function my_get_the_guid($guid) {
    $my_guid = 'foo';
    return $my_guid;
}

Eğer istediğiniz şey ile GUID çıkışını kılabilirsiniz kullanma. Sen RSS çıkış düğümü silemezsiniz, ama onun içeriğini kontrol edebilirsiniz. Eğer, kendi XML şablon oluşturmak tema üzerinde tutmak, ve sonra yük şablon yerine varsayılan zorlamak için template_redirect eylemini kullanabilirsiniz hep birlikte düğümü silmek istiyorsanız.

Umarım ki olur!

Wrangler eklentisi beslemeleri özelleştirmek için harika çalışıyor Yem:

http://wordpress.org/extend/plugins/feed-wrangler/

Temel olarak, eklentiyi yüklemek için bir sümüklü böcek (ex: no-guid) ile bir yem göstermek, daha sonra feed-no-guid.php tema dosyasını ekleyin. Sen bir üs olarak wp-includes/ varsayılan yem dosyaları kullanmak ve silme ya da ne istersen öğeleri ekleyebilirsiniz. Bu şekilde, gelecekte yem ve açık bir yükseltme yolu tam kontrolü olsun.

/ Wp-includes/feed-rss2.php hattı 40 gibi görünüyor:

<guid isPermaLink="false"><?php the_guid(); ?></guid>

Bu silme deneyin ve neler olacağını görmek; Bu dosyada the_guid için tek referans bulunuyor