WordPress eklentileri yazarken yeni. Ben woocommerce eklentisinin görüntüleri tek ürün sayfasında nasıl görüntülediğini değiştiren küçük bir eklenti yazmaya çalışıyorum. Spesifik olarak, eğer bir ürün görüntüsü yoksa, orada bir yer tutucu görüntüyü göstermek yerine, görüntüyü tutan div "göster: yok" seçeneğini kullanın. Kullandığım strateji, woocommerce'ın product_image.php şablonunun kendi versiyonunu oluşturmak için add_action kullanmak ve orijinal product_image.php dosyasının işlenmesini önlemek için remove_action'ı kullanmak (kullanmaya çalışmak). Add_action açık bir şekilde çalışıyor, çünkü Firebug'da "display: none" divini görebiliyorum. Ancak, kaldırma işlemi başarılı olmaz. İşte remove_action() WordPress eklentisinde çalışma yok
benim kodudur:$add_result = add_action('woocommerce_before_single_product_summary', 'eba_wc_show_product_images', 10);
function eba_wc_show_product_images() {
include('eba_product-image.php');
}
$remove_result = remove_action('woocommerce_before_single_product_summary', 'woocommerce_show_product_images', 30);
echo "<hr/>result of add_result = " . $add_result . "<hr/>";
echo "<hr/>result of remove_result = " . $remove_result . "<hr/>";
woocommerce_before_single_product_summary kanca için orijinal ADD_ACTION öncelikli 20, bu yüzden 30.
iki ayıklama ifadeleri sonunda remove_action üzerinde öncelik haline add_action öğesinin "1" değerini döndürdüğünü, ancak kaldırma işleminin sonucunun boş olduğunu gösterir. Herhangi bir yardım büyük takdir edilecektir.
Korkarım ki bu hiç farketmedi. Başka fikirlerin var mı? –
Öncelik, eylemin ilk kaydedildiği sırada kullanılanla eşleşmesi gerekiyordu, bu 10'un üstündeydi, (woocommerce-hooks.php satır 23'ü) şu anda çalışması gereken cevabı değiştirdim. –
Teşekkürler, çok fazla! –