厕所休息 API | HTML Table 未创建

WC REST API | HTML Table does not get created

WC Rest API 将产品上传到 wordpress 站点。全部上传正确,但是简短的描述下,table没有创建,只有table的平面文本以非table格式显示,只是在直线中woocommerce-api.php。

代码:

print_r( $client->products->create( array( 'title' => 'Nile - Over Counter Basin','sku' => '91081_Nile', 'type' => 'simple', 'regular_price' => '7260', 'sale_price' => '5445','description' => 'Nile - Over Counter BasinOver Counter BasinHindware Italian CollectionContemporary design with smooth flowing line Space for toiletries', 'dimensions'=>array( 'length' =>'67.5' ,'width' =>'39.5','height'=>'12.5'), 'categories'=>array( ' SANITARYWARE' =>'592',' WASHBASIN' =>'650',' Table Top Wash Basin' =>'508'),'images' =>Array ('91081_Nile'=>Array('src'=>'http://www.somethingsomething.com/images/products/91081/2.jpg','title'=>'91081_Nile','position'=>'0') ),'short_description'=>'Contemporary design with smooth flowing line Space for toiletries <table id="ProductDescriptiontable"><tr><td>Brand</td><td>:</td><td class="thirdcolumn">Hindware</td></tr><tr><td>Product Name</td><td>:</td><td class="thirdcolumn">Nile - Over Counter Basin</td></tr><tr><td>Product Description</td><td>:</td><td class="thirdcolumn">Table Top Wash Basin</td></tr></tr><tr><td>Product Color</td><td>:</td><td class="thirdcolumn">StarwhiteIvory</td></tr></table>')  ) ) ;

答案在第 244 行 wp-content/plugins/woocommerce/includes/api/class-wc-api-product.php

// Enable short description html tags.
$post_excerpt = isset( $data['short_description'] ) ? wc_clean( $data['short_description'] ) : '';
if ( $post_excerpt && isset( $data['enable_html_short_description'] ) && true === $data['enable_html_short_description'] ) {
    $post_excerpt = $data['short_description'];
}

第一行中的那段代码使用 wc_clean 清理简短描述,然后检查数据中是否传递了 enable_html_short_description 键,以及是否设置为 [=15] =],当满足条件时,它将传递接收到的 "non-clean" 版本的简短描述。

对上面的代码稍作更改即可获得所需的结果

print_r( $client->products->create( array( 
    'title' => 'Nile - Over Counter Basin',
    'sku' => '91081_Nile', 
    'type' => 'simple', 
    'regular_price' => '7260',
    'sale_price' => '5445',
    'description' => 'Nile - Over Counter BasinOver Counter BasinHindware Italian CollectionContemporary design with smooth flowing line Space for toiletries', 
    'dimensions'=>array( 'length' =>'67.5' ,'width' =>'39.5','height'=>'12.5'), 
    'categories'=>array( ' SANITARYWARE' =>'592',' WASHBASIN' =>'650',' Table Top Wash Basin' =>'508'),
    'images' =>Array ('91081_Nile'=>Array('src'=>'http://www.somethingsomething.com/images/products/91081/2.jpg','title'=>'91081_Nile','position'=>'0') ),
    'short_description'=>'Contemporary design with smooth flowing line Space for toiletries <table id="ProductDescriptiontable"><tr><td>Brand</td><td>:</td><td class="thirdcolumn">Hindware</td></tr><tr><td>Product Name</td><td>:</td><td class="thirdcolumn">Nile - Over Counter Basin</td></tr><tr><td>Product Description</td><td>:</td><td class="thirdcolumn">Table Top Wash Basin</td></tr></tr><tr><td>Product Color</td><td>:</td><td class="thirdcolumn">StarwhiteIvory</td></tr></table>',
    'enable_html_short_description' => true,  // This is the line you need to add 
)  ) ) ;