В WooCommerce мы хотим организовать медиа продуктов, подобных этому:
/wp-content/products/{SKU}/{allImagesofTheSpecificProdukt}
Теперь для стандартного загрузчика в разделе редактирования продукта / страницы мы кодировали его, и он работает как шарм:
Собственный плагин:
/* Change Upload-Dir for Products /wp-content/products/{SKU} */
add_filter( 'wp_handle_upload_prefilter', 'test_product_pre_upload' );
function test_product_pre_upload( $file ) {
add_filter( 'upload_dir', 'test_product_upload_dir' );
return $file;
}
function test_product_upload_dir( $param ) {
$id = $_REQUEST['post_id'];
$parent = get_post( $id )->post_parent;
if (get_post_type($id) == "product" || get_post_type($parent) == "product") {
$sku = get_post_meta( $id, '_sku', true );
if ($sku == '' || $sku == NULL) {
$sku = get_post_meta( $parent, '_sku', true );
}
if ($sku != '') {
$param['subdir'] = '/products/' . $param['subdir'];
$param['path'] = $param['basedir'] . $param['subdir'] . preg_replace('/\s+/', '', $sku);
$param['url'] = $param['baseurl'] . $param['subdir'] . preg_replace('/\s+/', '', $sku);
} else {
$param['subdir'] = '/products/' . $param['subdir'];
$param['path'] = $param['basedir'] . $param['subdir'];
$param['url'] = $param['baseurl'] . $param['subdir'];
}
}
return $param;
}
Но теперь мы хотим, чтобы мы также использовали WooCommerce Importer (встроенная версия - без плагина), который тоже работает так же. Как это возможно?