fonksiyonlar dosya, eklenti ve wordpress mu tema kapsam

0 Cevap php

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?

0 Cevap