Edit File by line
/home/zeestwma/richards.../wp-conte.../plugins/woocomme.../includes/rest-api/Utilitie...
File: ImageAttachment.php
<?php
[0] Fix | Delete
/**
[1] Fix | Delete
* Helper to upload files via the REST API.
[2] Fix | Delete
*
[3] Fix | Delete
* @package WooCommerce\Utilities
[4] Fix | Delete
*/
[5] Fix | Delete
[6] Fix | Delete
namespace Automattic\WooCommerce\RestApi\Utilities;
[7] Fix | Delete
[8] Fix | Delete
/**
[9] Fix | Delete
* ImageAttachment class.
[10] Fix | Delete
*/
[11] Fix | Delete
class ImageAttachment {
[12] Fix | Delete
[13] Fix | Delete
/**
[14] Fix | Delete
* Attachment ID.
[15] Fix | Delete
*
[16] Fix | Delete
* @var integer
[17] Fix | Delete
*/
[18] Fix | Delete
public $id = 0;
[19] Fix | Delete
[20] Fix | Delete
/**
[21] Fix | Delete
* Object attached to.
[22] Fix | Delete
*
[23] Fix | Delete
* @var integer
[24] Fix | Delete
*/
[25] Fix | Delete
public $object_id = 0;
[26] Fix | Delete
[27] Fix | Delete
/**
[28] Fix | Delete
* Constructor.
[29] Fix | Delete
*
[30] Fix | Delete
* @param integer $id Attachment ID.
[31] Fix | Delete
* @param integer $object_id Object ID.
[32] Fix | Delete
*/
[33] Fix | Delete
public function __construct( $id = 0, $object_id = 0 ) {
[34] Fix | Delete
$this->id = (int) $id;
[35] Fix | Delete
$this->object_id = (int) $object_id;
[36] Fix | Delete
}
[37] Fix | Delete
[38] Fix | Delete
/**
[39] Fix | Delete
* Upload an attachment file.
[40] Fix | Delete
*
[41] Fix | Delete
* @throws \WC_REST_Exception REST API exceptions.
[42] Fix | Delete
* @param string $src URL to file.
[43] Fix | Delete
*/
[44] Fix | Delete
public function upload_image_from_src( $src ) {
[45] Fix | Delete
$upload = wc_rest_upload_image_from_url( esc_url_raw( $src ) );
[46] Fix | Delete
[47] Fix | Delete
if ( is_wp_error( $upload ) ) {
[48] Fix | Delete
if ( ! apply_filters( 'woocommerce_rest_suppress_image_upload_error', false, $upload, $this->object_id, $images ) ) {
[49] Fix | Delete
throw new \WC_REST_Exception( 'woocommerce_product_image_upload_error', $upload->get_error_message(), 400 );
[50] Fix | Delete
} else {
[51] Fix | Delete
return;
[52] Fix | Delete
}
[53] Fix | Delete
}
[54] Fix | Delete
[55] Fix | Delete
$this->id = wc_rest_set_uploaded_image_as_attachment( $upload, $this->object_id );
[56] Fix | Delete
[57] Fix | Delete
if ( ! wp_attachment_is_image( $this->id ) ) {
[58] Fix | Delete
/* translators: %s: image ID */
[59] Fix | Delete
throw new \WC_REST_Exception( 'woocommerce_product_invalid_image_id', sprintf( __( '#%s is an invalid image ID.', 'woocommerce' ), $this->id ), 400 );
[60] Fix | Delete
}
[61] Fix | Delete
}
[62] Fix | Delete
[63] Fix | Delete
/**
[64] Fix | Delete
* Update attachment alt text.
[65] Fix | Delete
*
[66] Fix | Delete
* @param string $text Text to set.
[67] Fix | Delete
*/
[68] Fix | Delete
public function update_alt_text( $text ) {
[69] Fix | Delete
if ( ! $this->id ) {
[70] Fix | Delete
return;
[71] Fix | Delete
}
[72] Fix | Delete
update_post_meta( $this->id, '_wp_attachment_image_alt', wc_clean( $text ) );
[73] Fix | Delete
}
[74] Fix | Delete
[75] Fix | Delete
/**
[76] Fix | Delete
* Update attachment name.
[77] Fix | Delete
*
[78] Fix | Delete
* @param string $text Text to set.
[79] Fix | Delete
*/
[80] Fix | Delete
public function update_name( $text ) {
[81] Fix | Delete
if ( ! $this->id ) {
[82] Fix | Delete
return;
[83] Fix | Delete
}
[84] Fix | Delete
wp_update_post(
[85] Fix | Delete
array(
[86] Fix | Delete
'ID' => $this->id,
[87] Fix | Delete
'post_title' => $text,
[88] Fix | Delete
)
[89] Fix | Delete
);
[90] Fix | Delete
}
[91] Fix | Delete
}
[92] Fix | Delete
[93] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function