Woocommerce 挂钩非主题 php 文件中的用法
Woocommerce hooks usage in a non-theme php file
我正在安装 woocommerce 集成 wordpress。
我创建了一个独立的 "SearchByNumber.php" 文件并将其放入路径:/wp-content/plugins/ajax-test
一般情况下不是真正的插件(我不熟悉写插件)。它正在卷曲 Web 服务并在 xml.
中获取结果
我想做的是从此 xml 循环 SKU 并从 woocommerce 获取它们的 ID、价格、库存等。
我尝试了很多次,但每次都会遇到不同的错误:class 未找到、方法未找到、空对象等
global $product;
// a lot codes curling, looping, etc...
$product_id = $product->get_product_id_by_sku($sku_from_xml);
$product = wc_get_product($product_id);
$sku = $product->get_sku();
// or
$price = $product->get_price();
我正在尝试通过 SKU 查找产品 ID,然后从产品中获取任何我想要的东西。
PS:我在产品页面的 php 片段中使用这些 $product->get_sku()
$product->get_attribute('Brand')
。他们在那里工作得很好。
如何挂钩,过滤,class ??我做错了什么?
如果你能提供任何帮助,我将不胜感激。
非常感谢,
穆拉特
除非加载 Wordpress,否则无法访问任何功能或 class。
所以如果你想从独立脚本加载 Wordpress,你需要执行以下操作:
<?php
require '../../../wp-load.php'; //Load WordPress
$product_id = wc_get_product_id_by_sku( 'test' ); //get the product id
if ( $product_id ) {
$product = wc_get_product( $product_id ); //get the product
$price = $product->get_price(); //get the price
echo $price;
}
但我强烈建议将您的脚本加载为插件以获得更好的安全性,为了做到这一点,首先只需重命名您的文件以遵循 Wordpress 标准,例如 ajax-test.php
,然后将以下代码示例添加到您的脚本
<?php
/*
Plugin Name: Ajax Test
*/
defined( 'ABSPATH' ) or die( 'No script kiddies please!' ); //Security Check block direct access to your plugin PHP files
add_action( 'init', 'function_name' );
function function_name() {
$product_id = wc_get_product_id_by_sku( 'test' ); //get the product id
if ( $product_id ) {
$product = wc_get_product( $product_id ); //get the product
$price = $product->get_price(); //get the price
echo $price;
}
}
然后去你的 Wordpress 后端激活插件。
现在您可以通过两种方式访问所有 WordPress 和 Woocommerce 挂钩
您可以在以下 link 查看 WordPress 插件参考:
我正在安装 woocommerce 集成 wordpress。
我创建了一个独立的 "SearchByNumber.php" 文件并将其放入路径:/wp-content/plugins/ajax-test
一般情况下不是真正的插件(我不熟悉写插件)。它正在卷曲 Web 服务并在 xml.
中获取结果我想做的是从此 xml 循环 SKU 并从 woocommerce 获取它们的 ID、价格、库存等。
我尝试了很多次,但每次都会遇到不同的错误:class 未找到、方法未找到、空对象等
global $product;
// a lot codes curling, looping, etc...
$product_id = $product->get_product_id_by_sku($sku_from_xml);
$product = wc_get_product($product_id);
$sku = $product->get_sku();
// or
$price = $product->get_price();
我正在尝试通过 SKU 查找产品 ID,然后从产品中获取任何我想要的东西。
PS:我在产品页面的 php 片段中使用这些 $product->get_sku()
$product->get_attribute('Brand')
。他们在那里工作得很好。
如何挂钩,过滤,class ??我做错了什么?
如果你能提供任何帮助,我将不胜感激。
非常感谢,
穆拉特
除非加载 Wordpress,否则无法访问任何功能或 class。
所以如果你想从独立脚本加载 Wordpress,你需要执行以下操作:
<?php
require '../../../wp-load.php'; //Load WordPress
$product_id = wc_get_product_id_by_sku( 'test' ); //get the product id
if ( $product_id ) {
$product = wc_get_product( $product_id ); //get the product
$price = $product->get_price(); //get the price
echo $price;
}
但我强烈建议将您的脚本加载为插件以获得更好的安全性,为了做到这一点,首先只需重命名您的文件以遵循 Wordpress 标准,例如 ajax-test.php
,然后将以下代码示例添加到您的脚本
<?php
/*
Plugin Name: Ajax Test
*/
defined( 'ABSPATH' ) or die( 'No script kiddies please!' ); //Security Check block direct access to your plugin PHP files
add_action( 'init', 'function_name' );
function function_name() {
$product_id = wc_get_product_id_by_sku( 'test' ); //get the product id
if ( $product_id ) {
$product = wc_get_product( $product_id ); //get the product
$price = $product->get_price(); //get the price
echo $price;
}
}
然后去你的 Wordpress 后端激活插件。
现在您可以通过两种方式访问所有 WordPress 和 Woocommerce 挂钩
您可以在以下 link 查看 WordPress 插件参考: