WooCommerce 从产品标题中获取产品 object
WooCommerce Get the product object from the product title
我正在编写代码以从产品标题中获取产品 object。
我正在从我的记事本文件中读取产品标题并将其传递给 Wordpress 函数。
下面是一个函数,其中$pval
是产品标题。
$productdetail_by_title = get_page_by_title($pval, OBJECT, 'product');
print_r($productdetail_by_title);
exit;
产品标题是这样的:200x Slopupovací pleťová Rusk
但我无法获得产品 object。如果我像这样静态传递这个标题:
$productdetail_by_title = get_page_by_title("200x Slopupovací pleťová Rusk", OBJECT, 'product');
print_r($productdetail_by_title);
exit;
然后我就能得到产品object。请帮忙。
与get_page_by_title()
WordPress function, you will not get the WC_Product
objet but if it's working you will get the WP_Post
object.
所以这是一个自定义函数,如果标题与真实产品标题匹配,它将输出 WC_Product object:
function get_wc_product_by_title( $title ){
global $wpdb;
$post_title = strval($title);
$post_table = $wpdb->prefix . "posts";
$result = $wpdb->get_col("
SELECT ID
FROM $post_table
WHERE post_title LIKE '$post_title'
AND post_type LIKE 'product'
");
// We exit if title doesn't match
if( empty( $result[0] ) )
return;
else
return wc_get_product( intval( $result[0] ) );
}
代码进入您的活动 child 主题(或主题)的 function.php 文件或任何插件文件。
用法示例:
// Your title set in a variable
$title = "200x Slopupovací pleťová Rusk";
// Using our custom function to get an instance of the WC_Product object
$product_obj = get_wc_product_by_title( $title );
// Testing the output
print_r($product_obj);
此代码已在 WooCommerce 3+ 上测试并有效。
我正在编写代码以从产品标题中获取产品 object。 我正在从我的记事本文件中读取产品标题并将其传递给 Wordpress 函数。
下面是一个函数,其中$pval
是产品标题。
$productdetail_by_title = get_page_by_title($pval, OBJECT, 'product');
print_r($productdetail_by_title);
exit;
产品标题是这样的:200x Slopupovací pleťová Rusk
但我无法获得产品 object。如果我像这样静态传递这个标题:
$productdetail_by_title = get_page_by_title("200x Slopupovací pleťová Rusk", OBJECT, 'product');
print_r($productdetail_by_title);
exit;
然后我就能得到产品object。请帮忙。
与get_page_by_title()
WordPress function, you will not get the WC_Product
objet but if it's working you will get the WP_Post
object.
所以这是一个自定义函数,如果标题与真实产品标题匹配,它将输出 WC_Product object:
function get_wc_product_by_title( $title ){
global $wpdb;
$post_title = strval($title);
$post_table = $wpdb->prefix . "posts";
$result = $wpdb->get_col("
SELECT ID
FROM $post_table
WHERE post_title LIKE '$post_title'
AND post_type LIKE 'product'
");
// We exit if title doesn't match
if( empty( $result[0] ) )
return;
else
return wc_get_product( intval( $result[0] ) );
}
代码进入您的活动 child 主题(或主题)的 function.php 文件或任何插件文件。
用法示例:
// Your title set in a variable
$title = "200x Slopupovací pleťová Rusk";
// Using our custom function to get an instance of the WC_Product object
$product_obj = get_wc_product_by_title( $title );
// Testing the output
print_r($product_obj);
此代码已在 WooCommerce 3+ 上测试并有效。