Ben bu ilgili soru açıklanan en iyi uygulamaları takip beyan ve bağımlısı bir eklenti var:
http://stackoverflow.com/questions/1615118/wordpress-accessing-a-plugins-function-from-a-theme
Yani bu gibi (platonik) görünüyor:
if ( !class_exists( 'Foo' ) ) {
class Foo {
...
public function do_stuff() {
// does stuff
}
}
}
if ( class_exists( 'Foo' ) ) {
$MyFoo = new Foo();
}
Ben * does_stuff * böyle single.php, demek gibi bir tema dosyadan $ MyFoo-> do_stuff (), aslında $ MyFoo arayıp Şimdi, eğer ben sayfa çıktıyı göreceksiniz.
Ben $ MyFoo-> do_stuff () arayın ve ardından nesne Single.php o işlevi çağırmak istiyor functions.php bir işlevi yazmak Ancak, bulunamadı. Özet olarak,
Works:
in themes/my_theme/single.php:
if (isset($MyFoo))
$MyFoo->do_stuff();
Çalışmıyor:
in themes/my_theme/functions.php:
function do_some_foo_stuff() {
...
if (isset($MyFoo)) {
$MyFoo->do_stuff();
} else {
echo "no MyFoo set";
}
...
}
themes/my_theme/single.php:
if (isset($MyFoo))
do_some_foo_stuff();
Çıkışlar -> "hayır MyFoo set"
Bu tamamen şaşırtıcı olabilir, ama ben çalışmak istiyorum / gereken bir şey var, bu yüzden herkes ona neler olduğunu açıklamak eğer takdir ediyorum. Neden temanın fonksiyonları dosya (ya da bu konuda mu-eklentileri diğer eklenti dosyaları) $ MyFoo nesne bulamıyorum?