2017-07-11 50 views
0

我使用Symfony命令組件來完成將數據導入Wordpress表格的任務。我使用全局$ sitepress插入WPML插件的翻譯,但$ sitepress仍絕望地爲NULL。

/* ... */ 
public function export() 
    { 

      require_once(__DIR__. 
         '/../../../../web/wp/wp-load.php' 
      ); 

      global $sitepress; 
      var_dump($sitepress); 

      /* ... */ 
    } 

我不明白爲什麼這個全球爲NULL

回答

0

WPML-api.php基本上包含多項功能供您使用。它本身沒有$ sitepress變量。通常你不想在你的函數中包含函數。你應該在函數之外包含這些文件。然後在你的功能,你可以嘗試做

global $sitepress; 

然後做一個的var_dump看看你得到它。但是,如果您要直接使用這些API函數,則不需要執行聲明,因爲API函數已經這樣做了。

+0

謝謝你的回答。我忘了把全局放在我的功能之內。但$ sitepress是NULL – Toutma

+0

WPML插件被掛鉤到WordPress。因爲它使用WordPress的功能,我不認爲你可以簡單地將它自己拉出來。 $ sitepress變量在sitepress.php中實例化,而類本身在sitepress.class.php中定義,都位於插件根目錄下。但就像我所說的,如果不加載WordPress,你可能無法使用它自己的變量。 – TurtleTread

+1

嘿,我已經解決了這個問題。當命令啓動時,一些服務器全局變量被調用:WP未被實例化,但沒有產生異常。我在'wp-config.php'中解決了這個問題 – Toutma