Kısa kod kullanan basit bir WordPress eklentisi yazıyorum. Kısa kod içeren sayfanın belirli <meta>
etiketlerine sahip olmasını istiyorum. Mümkün mü? Ve eğer öyleyse, bunu yapmak için zarif bir yolu var mı?<meta> numaralı etiket eklemek için WordPress kısa kodunu kullanın
<meta>
etiketlerini wp_head
kanca ile ekleyebileceğimi biliyorum, ancak meta etiket içeriğinin eklentinin ürettiği bir dizeyle eşleşmesini istiyorum. Tüm kodu üstbilgiye taşıyabilirim, ancak daha sonra kısa koddan nasıl başvuracağımı bilmiyorum. Başka bir deyişle, bir süzgeçle <head>
değişkeninde bir değişken bildirdiğimde, kısa kodla çağırdığım sınıf yöntemlerinde kullanılamaz.
Herhangi bir fikrin var mı?
GÜNCELLEME:
SHORTCODE için işleyici işlevi wp_head kanca için harekete ekleyen güzel bir çözüm önerilmiştir:
add_shortcode('fakeshortcode', 'fakeshortcode_handler');
function fakeshortcode_handler() {
function add_meta_tags() {
//echo stuff here that will go in the head
}
add_action('wp_head', 'add_meta_tags');
}
Bu kabarma, ama sorun o wp_head ÖNCE hâle mi Kısa kod ayrıştırılır ve eylemi ekler (böylece ALONE üzerindeki kodla başa hiçbir şey eklenmez). Çalışması için çözümü this post numaralı telefondan ödünç aldım. Temel olarak, yazıya "ileriye bakacak" bir işlevdir ve herhangi bir kısa kodun gelip gelmediğini görür. Öyleyse, BT add_action('wp_head'...
'u ekler.
DÜZENLEME: Ben değişkeni geçmek konusunda benim takip soruyu kaldırıldı. Yeni bir soru here.
Bu harika. Wp_head eylemlerinin gerçekleşmesinden ÖNCE kısa kodun ayrıştırıldığını fark etmemiştim. Bunu hemen deneyeceğim. Haklıysan, sorunumu güzelce çözeceğime eminim! – emersonthis
Şüphelerim doğruydu. Kısa kodun ayrıştırılmasından ÖNCE wp_head eylemleri tetiklenir. Yani bu çözüm tam olarak açıklandığı gibi çalışmıyor. HOWEVER, yaklaşım değiştirilebiliyor ... [güncellemeye bakın] – emersonthis
Üzgünüz Emerson, ne yapmaya çalıştığınızı yanlış anladım.Daha önce yürütülür. Bu nedenle, çözümümün düzgün çalışması için düzenledim. – Maxime