Woocommerce rest api - 通过wordpress中的ajax创建产品

时间:2017-07-05 18:39:56

标签: php ajax wordpress woocommerce woocommerce-rest-api

嗯,问题出在这里。我创建了一个本地项目,用于在远程服务器上的wordpress中安装Woocommerce中的产品。我的本地项目代码就是这个

    <?php
require __DIR__ . '/vendor/autoload.php';
use Automattic\WooCommerce\Client;
function creaProd(){
$precio = $_POST['Total'];
$imagen = $_POST['Imagen'];
$descrip = $_POST['Descripcion'];
$tipo = $_POST['Tipo'];

$woocommerce = new Client(
    'http://example.com',
    'ck_sdfsdfsdfsfdxxx',
    'cs_sdfsdfsfsdfaxxx',
    [
        'wp_api' => true,
        'version' => 'wc/v1',
    ]
);

$data = [
    'name' => $tipo,
    'type' => 'simple',
    'regular_price' => $precio,
    'description' => $descrip,
    'short_description' => $descrip,
    'categories' => [
        [
            'id' => 9
        ],
        [
            'id' => 14
        ]
    ],
    'images' => [
        [
            'src' => 'http://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2013/06/T_2_front.jpg',
            'position' => 0
        ],
        [
            'src' => 'http://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2013/06/T_2_front.jpg',
            'position' => 1
        ]
    ]
];

print_r($woocommerce->post('products', $data));
}
creaProd();

evertything工作得很好,问题是,我尝试了很多东西,但我不能创建在wordpress项目中工作的产品。

我把它放在wp-includes文件夹和wp-content中,但是没有用。

我尝试拨打ajax到example.com/wp-includes/myFile.php,但我无法访问它,我可以访问example.com/wp-includes/option.php等文件以及已存在的所有文件,但如果我上传了那个,我只是不能,而且我也不知道在哪里放置供应商文件夹。

将此项目与Wordpress中的真实网站集成的正确方法是什么?

希望有人知道如何做到这一点。感谢。

2 个答案:

答案 0 :(得分:2)

我认为将第三方库集成到Wordpress中的最佳方法是创建自己的插件(这对我来说是最好的选择,因为你可以使用其他API Wordpress甚至安全性的东西,比如用户登录或拥有正确的权限)。它们很容易创建,可以通过Wordpress仪表板管理员启用它们。

以下是关于它的一些帖子:

How to create plugin - Wordpress Documentation

this文章中,您可以找到如何使用官方文档在Wordpress中编写插件

答案 1 :(得分:1)

[评论者注意我与用户8256950是同一个人。当我尝试为8256950创建登录时,它会创建一个新的登录名8262086。不知道为什么,但我每天都会销毁所有的饼干。]

您的项目是REST客户端,通常从不同的服务器运行。它不是WordPress服务器的一部分,我会将其文件放在自己的目录中。它不是插件。它也不是AJAX。 (REST客户端中没有使用JavaScript来进行REST服务器通信,但当然可以通过Javascript调用客户端。)

关于您到达文件的具体问题,如果您从浏览器提供网络日志,将会很有帮助。在Chrome上“更多工具” - &gt; '开发者工具' - &gt; '网络'。查找您的文件请求,看看是否有错误消息。