如何在 function.php 的 wordpress 函数中创建 class 的对象
How to create object of class inside function in function.php of wordpress
我正在将 google 电子表格集成到我的项目中。我必须将表单数据保存到 google 电子表格中。
为此,我正在使用 asimqt php-google-spreadsheet-client 库。
我在网站上只有一个表单,该表单使用 ajax 提交。为此,我在 function.php 中编写了函数。
初始化 DefaultServiceRequest 对象时出错 class。
错误: 致命错误:Class 'Google\Spreadsheet\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');
为什么会出现此错误,因为 class 已经包含使用 "use" 语句,有什么帮助吗?
这似乎与您的 vendor
文件夹的位置有关。
确保文件
可以访问供应商文件夹
考虑到您的文件夹层次结构
-wp-content
--themes
---your-theme
----functions.php
如果您在 your-theme/vendor
中有供应商文件夹,那么在您的 functions.php
中
你应该写
require 'vendor/autoload.php';
如果 vendor
在 WP 的根目录中,请确保使用类似以下内容的方法返回根文件夹:
require __DIR__ .'/../../../../vendor/autoload.php';
只需将require '/vendor/autoload.php';
替换为require_once('vendor/autoload.php');
刚才我在这里亲自为你试过这个,它有效。
我正在将 google 电子表格集成到我的项目中。我必须将表单数据保存到 google 电子表格中。
为此,我正在使用 asimqt php-google-spreadsheet-client 库。
我在网站上只有一个表单,该表单使用 ajax 提交。为此,我在 function.php 中编写了函数。
初始化 DefaultServiceRequest 对象时出错 class。
错误: 致命错误:Class 'Google\Spreadsheet\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');
为什么会出现此错误,因为 class 已经包含使用 "use" 语句,有什么帮助吗?
这似乎与您的 vendor
文件夹的位置有关。
确保文件
考虑到您的文件夹层次结构
-wp-content
--themes
---your-theme
----functions.php
如果您在 your-theme/vendor
中有供应商文件夹,那么在您的 functions.php
你应该写
require 'vendor/autoload.php';
如果 vendor
在 WP 的根目录中,请确保使用类似以下内容的方法返回根文件夹:
require __DIR__ .'/../../../../vendor/autoload.php';
只需将require '/vendor/autoload.php';
替换为require_once('vendor/autoload.php');
刚才我在这里亲自为你试过这个,它有效。