gpt4 book ai didi

wordpress - 在 WordPress 中使用 CloudConvert API

转载 作者:行者123 更新时间:2023-12-03 07:02:16 25 4
gpt4 key购买 nike

我正在尝试在自定义 WordPress 插件中使用 CloudConvert API。我想做的是在激活时初始化所有 CloudConvert API 内容一次,然后就可以根据文件转换的需要多次使用它。具体来说,我想使用 Hook 将文件转换表单放在 WooCommerce 产品页面上。

这是我的自定义插件代码:

require __DIR__ . '/vendor/autoload.php';
use \CloudConvert\Api;

function add_file_conversion()
{
$api = new Api("---");

$psd_process = $api->createProcess([
"inputformat" => "psd",
"outputformat" => "png",
]);

$psd_process->start([
"input" => "upload",
"outputformat" => "png",
"download" => true
]);
?>
<form id="files-convert-form" action="<?php echo $psd_process->upload->url; ?>">
<label>If you have a PSD or PDF file, please convert it </label>
<input type="file" name="myfile" id="files-convert" autocomplete="off"/>
<button type="button" class="btn btn-primary" id="action-convert">Convert</button>
</form>
<?php
}
add_action('woocommerce_single_product_summary', 'add_file_conversion', 25);

PHP 包装器位于 https://github.com/cloudconvert/cloudconvert-php似乎是可行的方法,所以我尝试按照他们的建议使用 PHAR,无论是打包还是未打包(如当前代码所示)。我没有太多使用 PHAR 的经验,所以我花了一段时间才弄清楚它需要进入/wp-admin 才能找到它 - 我没有运气设置包含路径来让它看起来在我的插件目录中。

无论如何,打包的 PHAR 和解压的 autoload.php 文件似乎都加载正常,因为该插件在激活时不会抛出任何错误。相反,当运行 add_file_conversion() 方法时,我收到此错误:

[12-Dec-2017 11:17:58 UTC] PHP Fatal error:  Class 'CloudConvert\Api' not found in /.../wp-content/plugins/cloudconvert-puzzlepic/cloudconvert-puzzlepic.php on line 19

其中第 19 行是对“new API("---")”的调用

我还尝试将 $api 设为全局并将其初始化直接移到“use”语句下,但随后在 add_file_conversion() 函数中调用它会引发错误,因为 $api 为 null。

我觉得它应该很简单,但还没有找到让它工作的方法。有人可以帮忙吗?

最佳答案

刚刚在我这边测试过,工作正常。看起来安装出了点问题。以下是使其正常工作的步骤:

  1. 在插件根目录中创建包含以下内容的 composer.json 文件:

    {
    "name": "Example Application",
    "description": "This is an example",
    "require": {
    "cloudconvert/cloudconvert-php": "2.2.*"
    }
    }
  2. 在同一目录中运行 composer install 命令(如果您尚未安装 Composer,可以从 here 下载并安装)。它将把带有依赖项的 cloudconvert 安装到 vendor 目录中,并创建 vendor/autoload.php,您将其包含在您的项目中。

  3. 需要插件中的 autoload.php:

    require __DIR__ . '/vendor/autoload.php';
    use \CloudConvert\Api;
    $api = new Api("your_api_key");
    var_dump($api); exit;

您可以将使用 cloudconvert 的功能包装在一个类中,附加 Hook ,并在需要操作时包含该文件。

关于wordpress - 在 WordPress 中使用 CloudConvert API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47771720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com