Изменение поля всех имен файлов продуктов WooCommercePhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Изменение поля всех имен файлов продуктов WooCommerce

Сообщение Anonymous »

У меня есть много плагинов, которые используют поле имени файла моего загружаемого продукта WooCommerce для отображения кнопки загрузки!
WooCommerce также делает это здесь, чтобы отображать имя файла на панели пользователя:

Код: Выделить всё

woocommerce/templates/order/order-downloads.php
с:

Код: Выделить всё

echo '' . esc_html( $download['download_name'] ) . '';
Я не хочу редактировать поле имени файла всех продуктов. Я также не хочу редактировать коды этих плагинов.
Это есть ли способ символически и гипотетически изменить и установить все имена файлов? Я думаю, что WooCommerce должен ввести имя файла по моему выбору. Например, сообщите всем, что имя каждого файла — «бесплатная загрузка», а не «ps-action.zip».
Я думаю, что woocommerce справится с этим здесь:
woocommerce/includes/wc-user-functions.php, строка 656

Код: Выделить всё

        // Download name will be 'Product Name' for products with a single downloadable file, and 'Product Name - File X' for products with multiple files.
$download_name = apply_filters(
'woocommerce_downloadable_product_name',
$download_file['name'],
$_product,
$result->download_id,
$file_number
);

$downloads[] = array(
'download_url'        => add_query_arg(
array(
'download_file' => $product_id,
'order'         => $result->order_key,
'email'         => rawurlencode( $result->user_email ),
'key'           => $result->download_id,
),
home_url( '/' )
),
'download_id'         => $result->download_id,
'product_id'          => $_product->get_id(),
'product_name'        => $_product->get_name(),
'product_url'         => $_product->is_visible() ? $_product->get_permalink() : '', // Since 3.3.0.
'download_name'       => $download_name,
'order_id'            => $order->get_id(),
'order_key'           => $order->get_order_key(),
'downloads_remaining' => $result->downloads_remaining,
'access_expires'      => $result->access_expires,
'file'                => array(
'name' => $download_file->get_name(),
'file' => $download_file->get_file(),
),
);

$file_number++;
}
}

return apply_filters( 'woocommerce_customer_available_downloads', $downloads, $customer_id );
}
Возможно, мы можем применить фильтр таким образом, чтобы отобразить наш текст (просто отобразить его, а не вставлять в поле имени файла)

Подробнее здесь: https://stackoverflow.com/questions/780 ... e-products
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»