tlozano
Forum Replies Created
-
Forum: Plugins
In reply to: [Advanced Dynamic Pricing for WooCommerce] Error displaying price with v4.9.1It works fine!. Thank You.
Forum: Plugins
In reply to: [Advanced Dynamic Pricing for WooCommerce] Error displaying price with v4.9.1Ok, here is the backup… but, I had to revert to v4.8.0 because with v4.9.0 (and v4.9.1) I had another problem. I’m using Divi and Woocommerce bundle “WooCommerce Product Bundles” and when a bundle (b.e. a pack with 3 books), if the total of bundles are 1, in the total are 3 books, but when I change the quantity to 2 packs (It should have 6 books), the total of books change to 12. With v4.8.0 all is working fine; when I have 1 pack, is 3 books, and with 2 packs the total books are 6…
And with this v4.8.0 the regular price and the reduced price are showed fine.
Thank you
[
{
"type": "package",
"rule_type": "common",
"filters": [
{
"qty": 1,
"qty_end": 1,
"type": "products",
"method": "in_list",
"value": [
"sana-tu-nina-interior-con-pirueta"
],
"product_exclude": {
"on_wc_sale": "",
"already_affected": "",
"backorder": "",
"values": []
}
},
{
"qty": 1,
"qty_end": 1,
"type": "products",
"method": "in_list",
"value": [
"pirueta-es-una-payasa-cuento-ilustrado"
],
"product_exclude": {
"on_wc_sale": "",
"already_affected": "",
"backorder": "",
"values": []
}
}
],
"title": "Sana tu Ni?a Interior + Cuento",
"priority": "",
"enabled": "on",
"sortable_blocks_priority": [
"roles",
"bulk-adjustments"
],
"additional": {
"conditions_relationship": "and",
"blocks": {
"productFilters": {
"isOpen": "1"
},
"productDiscounts": {
"isOpen": "1"
},
"roleDiscounts": {
"isOpen": "0"
},
"bulkDiscounts": {
"isOpen": "0"
},
"freeProducts": {
"isOpen": "0"
},
"autoAddToCart": {
"isOpen": "0"
},
"advertising": {
"isOpen": "0"
},
"cartAdjustments": {
"isOpen": "0"
},
"conditions": {
"isOpen": "0"
},
"limits": {
"isOpen": "0"
}
},
"is_replace": "",
"replace_name": "",
"is_replace_free_products_with_discount": "",
"free_products_replace_name": "",
"is_replace_auto_add_products_with_discount": "",
"auto_add_products_replace_name": "",
"sortable_apply_mode": "consistently",
"auto_add_cant_be_removed_from_cart": false,
"auto_add_show_as_recommended_product": false
},
"conditions": [],
"cart_adjustments": [],
"limits": [],
"product_adjustments": {
"type": "split",
"split": [
{
"type": "discount__amount",
"value": 40
},
{
"type": "discount__amount",
"value": 0
}
],
"max_discount_sum": 40,
"split_discount_by": "cost"
},
"role_discounts": [],
"get_products": {
"repeat": "-1",
"repeat_subtotal": "",
"max_amount_for_gifts": null
},
"auto_add_products": [],
"options": {
"apply_to": "expensive",
"repeat": -1
},
"advertising": {
"discount_message": "",
"discount_message_cart_item": "",
"long_discount_message": "",
"sale_badge": ""
},
"version": "4.8.0"
},
{
"type": "package",
"rule_type": "common",
"filters": [
{
"qty": 1,
"qty_end": 1,
"type": "products",
"method": "in_list",
"value": [
"sana-tu-nina-interior-con-pirueta-taller-boltana"
],
"product_exclude": {
"on_wc_sale": "",
"already_affected": "",
"backorder": "",
"values": []
}
},
{
"qty": 1,
"qty_end": 1,
"type": "products",
"method": "in_list",
"value": [
"pirueta-es-una-payasa-cuento-ilustrado"
],
"product_exclude": {
"on_wc_sale": "",
"already_affected": "",
"backorder": "",
"values": []
}
}
],
"title": "Sana tu Ni?a Interior con Pirueta Taller en BOLTA?A",
"priority": "",
"enabled": "on",
"sortable_blocks_priority": [
"roles",
"bulk-adjustments"
],
"additional": {
"conditions_relationship": "and",
"blocks": {
"productFilters": {
"isOpen": "1"
},
"productDiscounts": {
"isOpen": "1"
},
"roleDiscounts": {
"isOpen": "0"
},
"bulkDiscounts": {
"isOpen": "0"
},
"freeProducts": {
"isOpen": "0"
},
"autoAddToCart": {
"isOpen": "0"
},
"advertising": {
"isOpen": "0"
},
"cartAdjustments": {
"isOpen": "0"
},
"conditions": {
"isOpen": "0"
},
"limits": {
"isOpen": "0"
}
},
"is_replace": "",
"replace_name": "",
"is_replace_free_products_with_discount": "",
"free_products_replace_name": "",
"is_replace_auto_add_products_with_discount": "",
"auto_add_products_replace_name": "",
"sortable_apply_mode": "consistently",
"auto_add_cant_be_removed_from_cart": false,
"auto_add_show_as_recommended_product": false
},
"conditions": [],
"cart_adjustments": [],
"limits": [],
"product_adjustments": {
"type": "split",
"split": [
{
"type": "discount__amount",
"value": 40
},
{
"type": "discount__amount",
"value": 0
}
],
"max_discount_sum": 40,
"split_discount_by": "cost"
},
"role_discounts": [],
"get_products": {
"repeat": "-1",
"repeat_subtotal": "",
"max_amount_for_gifts": null
},
"auto_add_products": [],
"options": {
"apply_to": "expensive",
"repeat": -1
},
"advertising": {
"discount_message": "",
"discount_message_cart_item": "",
"long_discount_message": "",
"sale_badge": ""
},
"version": "4.8.0"
},
{
"type": "package",
"rule_type": "common",
"filters": [
{
"qty": 1,
"qty_end": 1,
"type": "products",
"method": "in_list",
"value": [
"mentoria-de-alegria"
],
"product_exclude": {
"on_wc_sale": "",
"already_affected": "",
"backorder": "",
"values": []
}
},
{
"qty": 1,
"qty_end": 1,
"type": "products",
"method": "in_list",
"value": [
"la-alegria-de-vivir-tapa-blanda"
],
"product_exclude": {
"on_wc_sale": "",
"already_affected": "",
"backorder": "",
"values": []
}
}
],
"title": "Mentoría Alegra tu vida + LADV",
"priority": 1,
"enabled": "off",
"sortable_blocks_priority": [
"roles",
"bulk-adjustments"
],
"additional": {
"conditions_relationship": "and",
"blocks": {
"productFilters": {
"isOpen": "1"
},
"productDiscounts": {
"isOpen": "1"
},
"roleDiscounts": {
"isOpen": "0"
},
"bulkDiscounts": {
"isOpen": "0"
},
"freeProducts": {
"isOpen": "0"
},
"autoAddToCart": {
"isOpen": "0"
},
"advertising": {
"isOpen": "0"
},
"cartAdjustments": {
"isOpen": "0"
},
"conditions": {
"isOpen": "0"
},
"limits": {
"isOpen": "0"
}
},
"is_replace": "",
"replace_name": "",
"is_replace_free_products_with_discount": "",
"free_products_replace_name": "",
"is_replace_auto_add_products_with_discount": "",
"auto_add_products_replace_name": "",
"sortable_apply_mode": "consistently",
"auto_add_cant_be_removed_from_cart": false,
"auto_add_show_as_recommended_product": false
},
"conditions": [],
"cart_adjustments": [],
"limits": [],
"product_adjustments": {
"type": "split",
"split": [
{
"type": "price__fixed",
"value": 226.5
},
{
"type": "discount__amount",
"value": 0
}
],
"max_discount_sum": 170.5,
"split_discount_by": "cost"
},
"role_discounts": [],
"get_products": {
"repeat": "-1",
"repeat_subtotal": "",
"max_amount_for_gifts": null
},
"auto_add_products": [],
"options": {
"apply_to": "expensive",
"repeat": -1
},
"advertising": {
"discount_message": "",
"discount_message_cart_item": "",
"long_discount_message": "",
"sale_badge": ""
},
"version": "4.8.0"
},
{
"type": "single_item",
"rule_type": "common",
"filters": [
{
"qty": 1,
"type": "products",
"method": "in_list",
"value": [
"pirueta-es-una-payasa-cuento-ilustrado"
],
"product_exclude": {
"on_wc_sale": "",
"already_affected": "",
"backorder": "",
"values": []
}
}
],
"title": "PEUP 2x1 Cumple?os 2023 2",
"priority": 2,
"enabled": "off",
"sortable_blocks_priority": [
"roles",
"bulk-adjustments"
],
"additional": {
"conditions_relationship": "and",
"blocks": {
"productFilters": {
"isOpen": "1"
},
"productDiscounts": {
"isOpen": "0"
},
"roleDiscounts": {
"isOpen": "0"
},
"bulkDiscounts": {
"isOpen": "0"
},
"freeProducts": {
"isOpen": "1"
},
"autoAddToCart": {
"isOpen": "0"
},
"advertising": {
"isOpen": "0"
},
"cartAdjustments": {
"isOpen": "0"
},
"conditions": {
"isOpen": "0"
},
"limits": {
"isOpen": "0"
}
},
"replace_name": "",
"is_replace_free_products_with_discount": "",
"free_products_replace_name": "",
"is_replace_auto_add_products_with_discount": "",
"auto_add_products_replace_name": "",
"sortable_apply_mode": "consistently",
"auto_add_cant_be_removed_from_cart": false,
"auto_add_show_as_recommended_product": false
},
"conditions": [],
"cart_adjustments": [],
"limits": [],
"role_discounts": [],
"get_products": {
"repeat": "-1",
"repeat_subtotal": "",
"max_amount_for_gifts": null,
"value": [
{
"qty": 1,
"gift_mode": "use_product_from_filter",
"type": "clone",
"value": []
}
]
},
"auto_add_products": {
"repeat": "-1",
"repeat_subtotal": ""
},
"options": {
"apply_to": "appeared",
"repeat": -1
},
"advertising": {
"discount_message": "",
"discount_message_cart_item": "",
"long_discount_message": "",
"sale_badge": ""
},
"version": "4.8.0"
},
{
"type": "single_item",
"rule_type": "common",
"filters": [
{
"qty": 1,
"type": "product_categories",
"method": "in_list",
"value": [
"Libro"
],
"product_exclude": {
"on_wc_sale": "",
"already_affected": "1",
"backorder": "",
"values": [
"38055",
"35724",
"38259",
"30585",
"35722",
"39432",
"36686"
]
}
}
],
"title": "Descuento 10% Día del libro",
"priority": 3,
"enabled": "off",
"sortable_blocks_priority": [
"roles",
"bulk-adjustments"
],
"additional": {
"conditions_relationship": "and",
"blocks": {
"productFilters": {
"isOpen": "1"
},
"productDiscounts": {
"isOpen": "1"
},
"roleDiscounts": {
"isOpen": "0"
},
"bulkDiscounts": {
"isOpen": "0"
},
"freeProducts": {
"isOpen": "0"
},
"autoAddToCart": {
"isOpen": "0"
},
"advertising": {
"isOpen": "0"
},
"cartAdjustments": {
"isOpen": "0"
},
"conditions": {
"isOpen": "0"
},
"limits": {
"isOpen": "0"
}
},
"is_replace": "",
"replace_name": "",
"is_replace_free_products_with_discount": "",
"free_products_replace_name": "",
"is_replace_auto_add_products_with_discount": "",
"auto_add_products_replace_name": "",
"sortable_apply_mode": "consistently",
"auto_add_cant_be_removed_from_cart": false,
"auto_add_show_as_recommended_product": false
},
"conditions": [],
"cart_adjustments": [],
"limits": [],
"product_adjustments": {
"type": "total",
"total": {
"type": "discount__percentage",
"value": 10
},
"split_discount_by": "cost"
},
"role_discounts": [],
"get_products": {
"repeat": "-1",
"repeat_subtotal": "",
"max_amount_for_gifts": null
},
"auto_add_products": {
"repeat": "-1",
"repeat_subtotal": ""
},
"options": {
"apply_to": "expensive",
"repeat": -1
},
"advertising": {
"discount_message": "",
"discount_message_cart_item": "",
"long_discount_message": "",
"sale_badge": ""
},
"version": "4.8.0"
},
{
"type": "single_item",
"rule_type": "common",
"filters": [
{
"qty": 1,
"type": "product_categories",
"method": "in_list",
"value": [
"merch"
],
"product_exclude": {
"on_wc_sale": "",
"already_affected": "",
"backorder": "",
"values": []
}
}
],
"title": "Descuento Merch del 10% al comprar libros",
"priority": 4,
"enabled": "on",
"sortable_blocks_priority": [
"roles",
"bulk-adjustments"
],
"additional": {
"conditions_relationship": "and",
"blocks": {
"productFilters": {
"isOpen": "1"
},
"productDiscounts": {
"isOpen": "1"
},
"roleDiscounts": {
"isOpen": "0"
},
"bulkDiscounts": {
"isOpen": "0"
},
"freeProducts": {
"isOpen": "0"
},
"autoAddToCart": {
"isOpen": "0"
},
"advertising": {
"isOpen": "0"
},
"cartAdjustments": {
"isOpen": "0"
},
"conditions": {
"isOpen": "1"
},
"limits": {
"isOpen": "0"
}
},
"is_replace": "",
"replace_name": "",
"is_replace_free_products_with_discount": "",
"free_products_replace_name": "",
"is_replace_auto_add_products_with_discount": "",
"auto_add_products_replace_name": "",
"sortable_apply_mode": "consistently",
"auto_add_cant_be_removed_from_cart": false,
"auto_add_show_as_recommended_product": false
},
"conditions": [
{
"type": "product_categories_all",
"options": {
"start_range": 1,
"comparison_list_method": "in_list",
"comparison_list": [
"3706"
],
"end_range": 99,
"product_measure": "qty"
}
}
],
"cart_adjustments": [],
"limits": [],
"product_adjustments": {
"type": "total",
"total": {
"type": "discount__percentage",
"value": 10
},
"split_discount_by": "cost"
},
"role_discounts": [],
"get_products": {
"repeat": "-1",
"repeat_subtotal": "",
"max_amount_for_gifts": null
},
"auto_add_products": {
"repeat": "-1",
"repeat_subtotal": ""
},
"options": {
"apply_to": "expensive",
"repeat": -1
},
"advertising": {
"discount_message": "",
"discount_message_cart_item": "",
"long_discount_message": "",
"sale_badge": ""
},
"version": "4.8.0"
},
{
"type": "package",
"rule_type": "common",
"filters": [
{
"qty": 1,
"qty_end": 1,
"type": "products",
"method": "in_list",
"value": [
"mentoria-de-alegria"
],
"product_exclude": {
"on_wc_sale": "",
"already_affected": "",
"backorder": "",
"values": []
}
},
{
"qty": 1,
"qty_end": 1,
"type": "products",
"method": "in_list",
"value": [
"saga-la-alegria-de-vivir"
],
"product_exclude": {
"on_wc_sale": "",
"already_affected": "",
"backorder": "",
"values": []
}
}
],
"title": "Mentoría Alegra tu vida + Saga LADV",
"priority": 5,
"enabled": "on",
"sortable_blocks_priority": [
"roles",
"bulk-adjustments"
],
"additional": {
"conditions_relationship": "and",
"blocks": {
"productFilters": {
"isOpen": "1"
},
"productDiscounts": {
"isOpen": "1"
},
"roleDiscounts": {
"isOpen": "0"
},
"bulkDiscounts": {
"isOpen": "0"
},
"freeProducts": {
"isOpen": "0"
},
"autoAddToCart": {
"isOpen": "0"
},
"advertising": {
"isOpen": "0"
},
"cartAdjustments": {
"isOpen": "0"
},
"conditions": {
"isOpen": "0"
},
"limits": {
"isOpen": "0"
}
},
"is_replace": "",
"replace_name": "",
"is_replace_free_products_with_discount": "",
"free_products_replace_name": "",
"is_replace_auto_add_products_with_discount": "",
"auto_add_products_replace_name": "",
"sortable_apply_mode": "consistently",
"auto_add_cant_be_removed_from_cart": false,
"auto_add_show_as_recommended_product": false
},
"conditions": [],
"cart_adjustments": [],
"limits": [],
"product_adjustments": {
"type": "split",
"split": [
{
"type": "price__fixed",
"value": 418.8
},
{
"type": "price__fixed",
"value": 79.2
}
],
"max_discount_sum": 988,
"split_discount_by": "cost"
},
"role_discounts": [],
"get_products": {
"repeat": "-1",
"repeat_subtotal": "",
"max_amount_for_gifts": null
},
"auto_add_products": [],
"options": {
"apply_to": "expensive",
"repeat": -1
},
"advertising": {
"discount_message": "",
"discount_message_cart_item": "",
"long_discount_message": "",
"sale_badge": ""
},
"version": "4.8.0"
}
]Forum: Plugins
In reply to: [Product Expiry for WooCommerce] Update product error with DiviI was testing, and if I change the code of wp-content/plugins/product-expiry-for-woocommerce/product-expiry-for-woocommerce.php (Around lines 526) to this:
if($savedSettings['display'] == 'enable'){
$product = wc_get_product();
/** $expiryDate = $product->get_meta('woo_expiry_date'); **/
if ($product && is_object($product)) {
$expiryDate = $product->get_meta('woo_expiry_date');
} else {
$expiryDate = null; // O establece un valor predeterminado adecuado
}
/** $expiryNote = $product->get_meta('woo_expiry_note'); **/
if ($product && is_object($product)) {
$expiryNote = $product->get_meta('woo_expiry_note');
} else {
$expiryNote = null; // O un valor predeterminado que tenga sentido para tu caso
}
if($expiryNote != ''){
echo '<p class="woope-notice">'.$expiryNote.'</p>';
} elseif ($expiryDate != '') {
$dateFormat = $savedSettings['date_format'];
$formattedDate = date($dateFormat, strtotime($expiryDate));
$text = str_replace("%date%", $formattedDate, $savedSettings['markup']);
$text = apply_filters('wpml_translate_single_string', $text, 'product-expiry-for-woocommerce', 'date-markup' );
echo '<p class="woope-notice">'.$text.'</p>';
}
/** if ($product->is_type('variable')) {
echo '<p class="woope-variable-notice"></p>';
} **/
if ($product && is_object($product) && $product->is_type('variable')) {
echo '<p class="woope-variable-notice"></p>';
}It works fine (I have to more test).
Thank you
Forum: Plugins
In reply to: [Product Expiry for WooCommerce] Update product error with DiviHumm, I can see it was a conflic with Yoast Seo ver. 24. If I disable Yoast Seo it works fine. If I enable Yoast SEO and disable Product Expiry for WooCommerce it works fine too. If the product is not edited using Divi it works fine too…
Forum: Plugins
In reply to: [FormsCRM] Error 422 with GF and MailerLiteI disabled all fields and I have add one to one. One of the field of the feed was too long, I disabled it and now works fine. Thank you.
Forum: Plugins
In reply to: [FormsCRM] Error 422 with GF and MailerLiteOk, It is a field problem. I’ll check all field, one to one, to get the problem. Thank you
Forum: Plugins
In reply to: [Accept Stripe Payments] How can remove author in product?I want to remove or change the author into the product card… This:
The product edit can’t do it (I have not the author field)
But the Post edit has it. I think that some similar could be fine. Like this:
Thank You
I have same problem but ver 4.70 doesn′t works too. Thank you
- This reply was modified 11 months, 2 weeks ago by tlozano.
Thank you
Thank you, I’ll try with diferents time sets.
Forum: Plugins
In reply to: [WebP + AVIF converter] Support for Nginx?Yes, I hink this is correct. This is because the Avif file is bigger than the original file. You can try to down the target quality to… ?85?… And try it.
Forum: Plugins
In reply to: [WebP + AVIF converter] Support for Nginx?@stefacchio How are you test it?
The served image always is the original name and extension, but the type and size must be changed.
You have to check it with development tools (Herramientas para desarrolladores en Espa?ol –> Control + MAyusculas + I)
Control+Shift+I
?(Windows, Linux, Chrome OS) then open the “Network” tab and then select “IMG”. Select “Disable cache” for testing. Do a web refresh (F5) and show the file type of images. It shoyld be jpeg, webp or Avif but the name can be .jpg. Sometink like this:Forum: Plugins
In reply to: [WebP + AVIF converter] Support for Nginx?Hi @stefacchio
I also have Hestiacp and it is working for me.
This is my /etc/nginx/nginx.conf
# Server globals user www-data; worker_processes auto; worker_rlimit_nofile 65535; error_log /var/log/nginx/error.log; pid /run/nginx.pid; include /etc/nginx/modules-enabled/*.conf; # Worker config events { worker_connections 1024; use epoll; multi_accept on; } http { ## Webp + Avif Plugin config map $http_accept $webp { default ".nonexisting"; "~*image/webp" ".webp"; } map $http_accept $png { default ".png"; "~*image/webp" ""; } map $http_accept $avif { default ".nonexisting"; "~*image/avif" ".avif"; } ### end plugin webp + avif config # Main settings sendfile on; tcp_nopush on; tcp_nodelay on; client_header_timeout 180s; client_body_timeout 180s; client_header_buffer_size 2k; client_body_buffer_size 256k; client_max_body_size 256m; large_client_header_buffers 4 8k; send_timeout 60s; keepalive_timeout 30s; keepalive_requests 100000; reset_timedout_connection on; server_tokens off; server_name_in_redirect off; server_names_hash_max_size 512; server_names_hash_bucket_size 512; charset utf-8; # FastCGI settings fastcgi_buffers 8 256k; fastcgi_buffer_size 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_connect_timeout 30s; fastcgi_read_timeout 300s; fastcgi_send_timeout 180s; fastcgi_cache_lock on; fastcgi_cache_lock_timeout 5s; fastcgi_cache_background_update on; fastcgi_cache_revalidate on; # Proxy settings proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass_header Set-Cookie; proxy_buffers 32 4k; proxy_buffer_size 8k; proxy_connect_timeout 30s; proxy_read_timeout 300s; proxy_send_timeout 180s; # Log format log_format main '$remote_addr - $remote_user [$time_local] $request ' '"$status" $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; log_format bytes '$body_bytes_sent'; log_not_found off; access_log off; # Mime settings include /etc/nginx/mime.types; default_type application/octet-stream; # Compression gzip on; gzip_static on; gzip_vary on; gzip_comp_level 6; gzip_min_length 1024; gzip_buffers 16 8k; gzip_http_version 1.1; gzip_types text/plain text/css text/javascript text/js text/xml application/json application/javascript application/x-javascript application/xml application/xml+rss application/x-font-ttf image/svg+xml font/opentype; gzip_proxied any; gzip_disable "MSIE [1-6]\."; # Cloudflare ips include /etc/nginx/conf.d/cloudflare.inc; # SSL PCI compliance ssl_session_cache shared:SSL:20m; ssl_session_timeout 60m; ssl_buffer_size 1400; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers "ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS"; ssl_dhparam /etc/ssl/dhparam.pem; ssl_ecdh_curve secp384r1; ssl_session_tickets off; resolver 127.0.0.53 valid=300s ipv6=off; resolver_timeout 5s; # Error pages error_page 403 /error/404.html; error_page 404 /error/404.html; error_page 410 /error/410.html; error_page 500 501 502 503 504 505 /error/50x.html; # Proxy cache proxy_cache_path /var/cache/nginx levels=2 keys_zone=cache:10m inactive=60m max_size=1024m; proxy_cache_key "$scheme$request_method$host$request_uri"; proxy_temp_path /var/cache/nginx/temp; proxy_ignore_headers Expires Cache-Control; proxy_cache_use_stale error timeout invalid_header http_502; proxy_cache_valid any 1d; # FastCGI cache fastcgi_cache_path /var/cache/nginx/micro levels=1:2 keys_zone=microcache:10m max_size=1024m inactive=30m; fastcgi_cache_key "$scheme$request_method$host$request_uri"; fastcgi_cache_methods GET HEAD; fastcgi_cache_use_stale updating error timeout invalid_header http_500 http_503; fastcgi_ignore_headers Cache-Control Expires Set-Cookie; add_header X-FastCGI-Cache $upstream_cache_status; # Cache bypass map $http_cookie $no_cache { default 0; ~SESS 1; ~wordpress_logged_in 1; } # File cache (static assets) open_file_cache max=10000 inactive=30s; open_file_cache_valid 60s; open_file_cache_min_uses 2; open_file_cache_errors off; # Wildcard include include /etc/nginx/conf.d/*.conf; include /etc/nginx/conf.d/domains/*.conf; }
And this is my modify template….wordpress_b_Webpavif.stpl
#=========================================================================# # Default Web Domain Template # # DO NOT MODIFY THIS FILE! CHANGES WILL BE LOST WHEN REBUILDING DOMAINS # # https://docs.hestiacp.com/admin_docs/web.html#how-do-web-templates-work # #=========================================================================# server { listen %ip%:%web_ssl_port% ssl http2; server_name %domain_idn% %alias_idn%; root %docroot%; index index.php index.html index.htm; access_log /var/log/nginx/domains/%domain%.log combined; access_log /var/log/nginx/domains/%domain%.bytes bytes; error_log /var/log/nginx/domains/%domain%.error.log error; ssl_certificate %ssl_pem%; ssl_certificate_key %ssl_key%; ssl_stapling on; ssl_stapling_verify on; include %home%/%user%/conf/web/%domain%/nginx.hsts.conf*; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ /\.(?!well-known\/) { deny all; return 404; } ## Plugin Webp + Avif location ~* wp\-content/(?!cache/fastware\-webpavif).+\.(jpe?g|png|gif|bmp|webp)$ { rewrite /wp\-content/(.+)$ /wp-content/cache/fastware-webpavif/$1; } location ~* cache/fastware\-webpavif.+\.(jpe?g|png|gif|bmp)$ { add_header Vary Accept; try_files $uri.pref$webp $uri.pref$avif $uri$webp $uri$avif $uri /?fw-webp-avif-ondemand=all; } location ~* cache/fastware\-webpavif.+\.webp$ { add_header Vary Accept; try_files $uri$png /?fw-webp-avif-ondemand=png; } ## End pluglin Webp +Avif location / { try_files $uri $uri/ /index.php?$args; ## location ~* ^.+\.(ogg|ogv|svg|svgz|swf|eot|otf|woff|woff2|mov|mp3|mp4|webm|flv|ttf|rss|atom|jpg|jpeg|gif|png|webp|ico|bmp|mid|midi|wav|rtf|css|js|jar)$ { location ~* ^.+\.(ogg|ogv|svg|svgz|swf|eot|otf|woff|woff2|mov|mp3|mp4|webm|flv|ttf|rss|atom|ico|bmp|mid|midi|wav|rtf|css|js|jar)$ { expires 30d; fastcgi_hide_header "Set-Cookie"; } location ~* /(?:uploads|files)/.*.php$ { deny all; return 404; } location ~ [^/]\.php(/|$) { fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; try_files $uri =404; fastcgi_pass %backend_lsnr%; fastcgi_index index.php; include /etc/nginx/fastcgi_params; include %home%/%user%/conf/web/%domain%/nginx.fastcgi_cache.conf*; if ($request_uri ~* "/wp-admin/|/wp-json/|wp-.*.php|xmlrpc.php|index.php|/store.*|/cart.*|/my-account.*|/checkout.*") { set $no_cache 1; } if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in|woocommerce_items_in_cart|woocommerce_cart_hash|PHPSESSID") { set $no_cache 1; } } } location /error/ { alias %home%/%user%/web/%domain%/document_errors/; } location /vstats/ { alias %home%/%user%/web/%domain%/stats/; include %home%/%user%/web/%domain%/stats/auth.conf*; } proxy_hide_header Upgrade; include /etc/nginx/conf.d/phpmyadmin.inc*; include /etc/nginx/conf.d/phppgadmin.inc*; include %home%/%user%/conf/web/%domain%/nginx.ssl.conf_*; }
It has two mod’s sections;
## Plugin Webp + Avif
location ~* wp\-content/(?!cache/fastware\-webpavif).+\.(jpe?g|png|gif|bmp|webp)$ { rewrite /wp\-content/(.+)$ /wp-content/cache/fastware-webpavif/$1; }
location ~* cache/fastware\-webpavif.+\.(jpe?g|png|gif|bmp)$ { add_header Vary Accept; try_files $uri.pref$webp $uri.pref$avif $uri$webp $uri$avif $uri /?fw-webp-avif-ondemand=all; }
location ~* cache/fastware\-webpavif.+\.webp$ { add_header Vary Accept; try_files $uri$png /?fw-webp-avif-ondemand=png; }
## End pluglin Webp +Avif
And after this, I change the line
location ~* ^.+.(ogg|ogv|svg|svgz|swf|eot|otf|woff|woff2|mov|mp3|mp4|webm|flv|ttf|rss|atom|jpg|jpeg|gif|png|webp|ico|bmp|mid|midi|wav|rtf|css|js|jar)$ {
With this other (Just remove the “|jpg|jpeg|gif|png|webp” and set a new header).
location ~* ^.+.(ogg|ogv|svg|svgz|swf|eot|otf|woff|woff2|mov|mp3|mp4|webm|flv|ttf|rss|atom|ico|bmp|mid|midi|wav|rtf|css|js|jar)$ {
expires 30d;
fastcgi_hide_header “Set-Cookie”;
}The template “wordpress_b_Webpavif.tpl” is this one, but I think it it not used (has a 301 redirect to https, in my case).
#=========================================================================# # Default Web Domain Template # # DO NOT MODIFY THIS FILE! CHANGES WILL BE LOST WHEN REBUILDING DOMAINS # # https://docs.hestiacp.com/admin_docs/web.html#how-do-web-templates-work # #=========================================================================# server { listen %ip%:%web_port%; server_name %domain_idn% %alias_idn%; root %docroot%; index index.php index.html index.htm; access_log /var/log/nginx/domains/%domain%.log combined; access_log /var/log/nginx/domains/%domain%.bytes bytes; error_log /var/log/nginx/domains/%domain%.error.log error; include %home%/%user%/conf/web/%domain%/nginx.forcessl.conf*; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ /\.(?!well-known\/) { deny all; return 404; } ## Plugin Webp + Avif location ~* wp\-content/(?!cache/fastware\-webpavif).+\.(jpe?g|png|gif|bmp|webp)$ { rewrite /wp\-content/(.+)$ /wp-content/cache/fastware-webpavif/$1; } location ~* cache/fastware\-webpavif.+\.(jpe?g|png|gif|bmp)$ { add_header Vary Accept; try_files $uri.pref$webp $uri.pref$avif $uri$webp $uri$avif $uri /?fw-webp-avif-ondemand=all; } location ~* cache/fastware\-webpavif.+\.webp$ { add_header Vary Accept; try_files $uri$png /?fw-webp-avif-ondemand=png; } ## End pluglin Webp +Avif location / { try_files $uri $uri/ /index.php?$args; location ~* ^.+\.(ogg|ogv|svg|svgz|swf|eot|otf|woff|woff2|mov|mp3|mp4|webm|flv|ttf|rss|atom|jpg|jpeg|gif|png|webp|ico|bmp|mid|midi|wav|rtf|css|js|jar)$ { expires 30d; fastcgi_hide_header "Set-Cookie"; } location ~* /(?:uploads|files)/.*.php$ { deny all; return 404; } location ~ [^/]\.php(/|$) { fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; try_files $uri =404; fastcgi_pass %backend_lsnr%; fastcgi_index index.php; include /etc/nginx/fastcgi_params; include %home%/%user%/conf/web/%domain%/nginx.fastcgi_cache.conf*; if ($request_uri ~* "/wp-admin/|/wp-json/|wp-.*.php|xmlrpc.php|index.php|/store.*|/cart.*|/my-account.*|/checkout.*") { set $no_cache 1; } if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in|woocommerce_items_in_cart|woocommerce_cart_hash|PHPSESSID") { set $no_cache 1; } } } location /error/ { alias %home%/%user%/web/%domain%/document_errors/; } location /vstats/ { alias %home%/%user%/web/%domain%/stats/; include %home%/%user%/web/%domain%/stats/auth.conf*; } include /etc/nginx/conf.d/phpmyadmin.inc*; include /etc/nginx/conf.d/phppgadmin.inc*; include %home%/%user%/conf/web/%domain%/nginx.conf_*; }
I hope this can help you.
- This reply was modified 1 year, 9 months ago by tlozano.
Forum: Plugins
In reply to: [WebP + AVIF converter] Problem with media names with special charactersOh. Well, they are images from the year 2018 that have been there for a long time. The same update now no longer happens. I think I can re-upload the images and that would work, so I think the ticket can be closed. Sorry and thank you very much for your work.
- This reply was modified 1 year, 10 months ago by tlozano.
Forum: Plugins
In reply to: [WebP + AVIF converter] Too Many RedirectWhat is your nginx -t command shows? I got a similar error the first time I try it, but I had an error into the nginx.conf. After correct it, it works fine for me. The server changes must be just before “location /” line, and in my case, I have to remove the jpg, webp, gif… from original location…. something like from this:
location ~* .(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ogg|ogv|svgz|eot|otf|mp4|rss|atom|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ to
location ~* .(svg|woff|woff2|ttf|css|js|ogg|ogv|svgz|eot|otf|mp4|rss|atom|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ You can try this.