2016-03-01 62 views
0

我正在將google電子表格整合到我的項目中。我必須將表單數據保存到Google電子表格中。
爲此,我使用asimqt php-google-spreadsheet-client庫。如何在wordpress的function.php中創建函數裏面的對象

我在表單上使用ajax提交表單。爲此,我在function.php中編寫了函數。

初始化DefaultServiceRequest類的對象時出錯。

錯誤:致命錯誤:類「谷歌\電子表格\ DefaultServiceRequest」未找到

require '/vendor/autoload.php'; 

use Google\Spreadsheet\DefaultServiceRequest; 
use Google\Spreadsheet\ServiceRequestFactory; 


function spreadsheet_feeds() 
{ 
    $access_tok = 'xyz-token'; 

    $serviceRequest = new DefaultServiceRequest($access_tok); // Getting error 
    ServiceRequestFactory::setInstance($serviceRequest); 

    $spreadsheetService = new Google\Spreadsheet\SpreadsheetService(); 
    $spreadsheetFeed = $spreadsheetService->getSpreadsheets(); 

} 

add_action('wp_ajax_nopriv_spreadsheet_data', 'spreadsheet_feeds'); 
add_action('wp_ajax_spreadsheet_data','spreadsheet_feeds'); 

任何幫助,爲什麼這個錯誤發生,因爲類是已經包括使用「使用」的聲明?

+0

請粘貼您上傳php-google-spreadsheet-client庫的截圖。 –

回答

0

這似乎是您的vendor文件夾的位置的問題。 確保供應商的文件夾是文件

考慮到你的文件夾層次訪問是

-wp-content 
--themes 
---your-theme 
----functions.php 

如果您有您的供應商文件夾中your-theme/vendor然後在您的functions.php

你應該寫

require 'vendor/autoload.php';

如果vendor是WP的根目錄下,確保你使用像穿越回根文件夾:

require __DIR__ .'/../../../../vendor/autoload.php';

+0

供應商文件夾位於主題文件夾內。我嘗試過require'vendor/autoload.php';但同樣的錯誤正在發生。 – Kango

+0

@Kango我已經嘗試過與my-theme目錄中的相同庫和供應商文件夾,並且它工作正常,請嘗試在主題文件夾中使用'composer dump-autoload' – codisfy

0

只需更換require '/vendor/autoload.php';require_once('vendor/autoload.php');

剛纔我想這在這裏爲你自己和它的作品。

+0

是否有任何更新 – StreetCoder