the_content Öncesi veya Sonrası ve Özel Gönderi Türlerinde İçerik Nasıl Eklenir
Yayınlanan: 2020-01-09WordPress site sayfalarınızda ve gönderilerinizde, sayfa içeriğinden veya gönderi içeriğinden sonra bir miktar içerik eklemek isteyebilirsiniz. Bu tür içerik, tüm sayfalarda veya gönderilerde veya her ikisinde veya özel gönderi türlerinde gerekli olabilir. Böyle bir durumda, WordPress temasında veya eklentinin sayfa şablonunda the_content işlevinden sonra veya önce içerik ekleyen bir filtre kullanmanız gerekir. Neyse ki bugün, sitenizi bozmadan bunu nasıl yapabileceğinizi en basit şekilde göstereceğim.
Gönderi İçeriğinden Sonra Eklenecek İçerik Örneği
İyi bir örnek, ziyaretçilerinizle bağlı kuruluş ifşası veya yorum politikası hakkında hızlı bir not paylaşmak istediğiniz zamandır.
Gönderiyi veya sayfayı her yayınladığınızda bu içeriği yazmak yerine, bir filtre kullanarak otomatik olarak yapılmasını sağlayabilirsiniz.
Bu tür içerikleri her eklemeniz gerektiğinde yalnızca zamandan tasarruf etmekle kalmayacak, aynı zamanda yazım hatalarını da önleyeceksiniz. Bir WordPress geliştiricisi değilseniz, bu parçacığı kolayca function.php dosyanıza ekleyebilir ve içeriği ilgili içeriğinizle değiştirebilirsiniz. Gelecekte bunun için endişelenmenize gerek yok.
WordPress'te Sayfa veya Gönderi İçeriğinden Sonra İçerik Ekleme
WordPress temaları oluştururken veya WordPress temalarını özelleştirirken, the_content öğesinin sonuna içerik eklemeniz gerekebilir. Her gönderinin sonuna eklenmesi gereken belirli ayrıntılara sahip özel Meta alanları veya özel gönderi türleri kullanırken özellikle yaygındır.
Belirli gönderi veya kullanıcı için depolanan verileri, içerik işlevinden sonra eklenmeden önce almak için get_post_meta , get_user_meta veya get_option kullanıyor olabilirsiniz.
the_content 'dan sonra içerik eklemeniz gerekebilecek birkaç durum vardır. The_content'ten sonra nasıl içerik ekleneceğini adım adım göstererek sizin için kolaylaştırmak istiyorum.
Yeni İçerik Eklemek için the_content'ten sonra Kancayı Filtrele
Açıkçası, bir WordPress sayfasına herhangi bir içerik eklemek için filtre kancalarının nasıl çalıştığını anlamanız gerekir. İdeal olarak, WordPress'in iki tür kancası vardır, eylem kancaları ve bu gönderide açıkça açıklandığı gibi filtreler – WordPress do_action kancaları ve filtreleri uygular veya en azından temanızda function.php dosyasını nasıl düzenleyeceğiniz konusunda bir fikriniz olmalıdır.
Bu nedenle, çıktıyı döndürmeden önce sayfamızdaki içeriği filtreleyecek ve ardından yeni içeriği ekleyecek bir filtreye ihtiyacımız var.
WordPress'te the_content'den sonra İçerik Ekle
İlk önce filtreyi aşağıdaki gibi oluşturmamız gerekiyor:
add_filter('the_content', 'add_content_after');
Geri çağırma işlevi artık the_content'ten sonra eklemek istediğimiz kodu içermeli, ayrıca callback işlevinde $content parametresini de iletmeliyiz, böylece filtreleyip döndürelim:
function add_content_after($içerik) { $after_content = “Yorum politikamızın örneği”; $dolu içerik = $içerik . $after_content; $fulcontent döndür; }
Bu durumda, $after_content'i ekliyoruz ve aşağıdaki resimde gösterildiği gibi görüntüleniyor:
Koddaki $after_content değerini mesajınızla değiştirebilir ve tam parçayı functions.php'ye ekleyebilirsiniz; içerik, içerikten sonra eklenecektir. Birleştirilmiş kod parçacığı aşağıdaki gibidir:
add_filter('the_content', 'add_content_after'); function add_content_after($içerik) { $after_content = “Yayın içeriğinden sonraki yorum politikamızın örneği”; $dolu içerik = $içerik . $after_content; $fulcontent döndür; }
WordPress Sayfasında veya Gönderisinde the_content Öncesine İçerik Ekleme
Bazı durumlarda, içeriği the_content öğesinden önce eklemek isteyebilirsiniz. Örneğin, yakın zamanda bir evcil hayvan web sitesi kurarken, içeriğin aşağıdaki resimde gösterildiği gibi görüntülenebilmesi için köpek ırklarının ayrıntılarını listelemem gerekiyordu:
Bu projede farklı bir yaklaşım kullanmama rağmen, içeriği the_content 'tan önce görüntülemeniz gerekiyorsa, yine de yukarıda paylaşılan filtreyi kullanırsınız ve tek fark, $fullcontent değişkenine katıldığınız zamandır.
Bu durumda, aşağıda gösterildiği gibi önce görüntülemek istediğiniz içerikle başlarsınız:
add_filter('the_content', 'add_content_before'); function add_content_before($içerik) { $before_content = “İçerik yayınlamadan önceki yorum politikamızın örneği”; $fullcontent = $before_content . $içerik ; $fulcontent döndür; }
Çıktı, aşağıdaki resimde vurgulandığı gibi görüntülenmelidir:
WordPress Sayfasında veya Gönderisinde the_content Öncesi ve Sonrası İçerik Ekleme
Ayrıca, the_content'ten önce ve sonra içeriği görüntülemek istediğiniz birleşik bir senaryonuz olabilir ve bu, aşağıdaki kodla gerçekleştirilebilir:
add_filter('the_content', ' add_content_before_and_after); function add_content_before_and_after($content) { $before_content = “Yayın içeriğinden önceki ve sonraki yorum politikamızın örneği”; $after_content = “Yayın içeriğinden önceki ve sonraki yorum politikamızın örneği”; $fullcontent = $before_content . $içerik . $after_content; $fulcontent döndür; }
Çıktı, aşağıdaki resimde vurgulandığı gibi görüntülenmelidir:
the_content'ten önce ve sonra ve Özel Gönderi Türlerinde İçerik Ekle
Belirli bir özel gönderi türü için yalnızca bu içeriği eklemeyi tercih ederseniz, özel gönderi türünü görüntüleyip görüntülemediğimizi belirleyen bir mantık ekleyebilirsiniz ve öyleyse içeriği ekleriz, aksi takdirde varsayılan the_content değerini döndürürüz.
Bu durumda, özel gönderi türünüz 'kitaplar' olarak adlandırılmışsa, kod aşağıdaki gibi olmalıdır:
// Belirli özel gönderi türü sayfa şablonuna yeni içerik ekleme adımları add_filter('the_content', 'add_new_content_after_books_custom_post_type'); function add_new_content_after_books_custom_post_type($content) { //1) Tek bir gönderide olup olmadığımızı ve gönderi türünün kitaplara eşit olup olmadığını, yani özel gönderi türünün bir parçası olup olmadığını kontrol edin. if (is_singular("kitaplar")){ //2) Yeni içeriği bir değişkene ekleyin $new_books_content = "Bu, Kitaplar özel gönderi türünden sonra eklenecek yeni kitap içeriğidir" $aftercontent = $new_books_content; $dolu içerik = $içerik . $sonraki içerik; //3) Koşul doğruysa, özel gönderi türü için ilk kez döndür $fulcontent döndür; }Başka{ //4) Eğer bu başka bir sayfaysa veya kitap cpt değil, ek içerik olmadan varsayılan the_content değerini döndürür $içerik döndür; } }
toparlamak
Bu gönderide ana hatlarıyla belirttiğimiz gibi, the_content'ten sonra veya öncesinde içerik eklemek yokuş yukarı bir iş olmamalıdır, kod parçacığını hızlı bir şekilde theme function.php dosyanıza kopyalayabilirsiniz ve çalışması gerekir.
Profesyonel bir WordPress geliştiricisi olarak, WordPress eylem kancaları ve özellikle filtre kancaları hakkında daha fazla bilgi edinmek yardımcı olabilir. Umarım bu öğreticiyi faydalı bulursunuz ve diğer geliştiriciler ve arkadaşlarınızla paylaşırsınız.