How/where do I edit product box structure?

I am working on my custom woo theme, and i want to change the structure of the product box in the product loop. I found that the “

    ” and “

” are in loop -start and -end files, but how do I change the inside html?

I could find individual components like price, title, etc, but I want to move the add to cart button inside the “.woocommerce-LoopProduct-link”, now i have this structure:

<ul class="products columns-4"> <li class="product"> <a class="woocommerce-LoopProduct-link">...</a> <a class="add_to_cart_button">...</a> </li> </ul> 

I tried to search the documentation and couldn’t find anything useful.

The story of tissue: the evolution of a vital consumer product

Toilet and facial tissue are something that most of us take for granted, but many may be surprised to learn they are actually relatively new inventions. However, while white toilet paper itself dates back less than a century, there is a much longer record of humans relying on paper for personal cleansing.

It perhaps comes as little surprise that the Chinese, credited with first developing the pulp papermaking process more than 2000 years ago, are also believed to be the first to use paper for personal cleansing. The first recorded use of toilet paper dates back to 6th century China. During the Tang Dynasty, three hundred years later, an Arab traveler in the region commented that the Chinese do not wash with water when they have done their necessities; but they only wipe themselves with paper.
Still, it would take several centuries before the world saw anything resembling toilet paper as we know it today. For many years, people turned to other paper instead. Following the rise of printing, for example, many people relied on repurposed newspapers and books.
The introduction of toilet paper as a commercial product did not occur until 1857. In that year, American inventor Joseph Gayetty began selling packets of paper in individual sheets, marketed as Gayetty’s Medical Paper. Others began to eventually produce this variety of brown, rough and thin paper in countries around the world. In fact, many readers may have personal memories of this high quality toilet paper, which could still be found in certain parts of Europe as late as the 1970s.

Folds that changed everything
The first tissue products as we had recognize them today were invented and produced by the American paper manufacturer Kimberly-Clark, who developed cellulose as a replacement for cotton in sanitary products during World War I. Their major innovation was the creping process, in which paper was micro-folded in the course of production. This breaks down the rigidity of the paper and increases the volume, making it both softer and more absorbent than the paper created by Joseph Gayetty 60 years earlier.
In 1920, Kimberly-Clark released the world’s first commercially available tissue product, the sanitary pad Kotex. It was made possible thanks to the new creping process and the work of two men at the company: Frank Sensenbrenner and a young Austrian immigrant named Ernst Mahler. By layering several sheets of tissue, they developed a soft pillow with much greater absorbency than the traditional cotton wool. Four years later, Kimberly-Clark followed the success of Kotex with the disposable handkerchief Kleenex, which remains the market-leading brand for facial tissue paper today.

Customer experience drives development
In the years following the advent of the creping process, tissue products, such as soft kitchen tissue paper, paper hand towels, jumbo rolls toilet paper white, etc., quickly became popular with consumers, leading many manufacturers to take notice. From the United States, tissue production expanded to Europe in the first half of the twentieth century and ultimately to every other part of the globe as well.
Tissue production continually evolved throughout this period to keep up with increased market demand and to provide an improved customer experience. As today, manufacturers worked to meet shifting consumer tastes, and paper dinner napkinindustry trends came and went along with other consumer fads. One memorable example was the pastel-colored toilet rolls designed to match bathroom interiors that gained popularity in the 1960s.
However, a constant in development has been the search for production methods that secure paper that is both strong and soft. For toilet as well as white facial tissue, strength and absorbability are essential to ensuring the paper can do the intended job while keeping hands clean and dry. At the same time, it also needs to avoid causing discomfort in delicate areas of the body. As mini pocket tissues use has become more widespread – first in the Americas and Europe and more recently in other parts of the world – consumers have come to demand increasingly softer and stronger sheets.

How do I add woocommerce hook based on product categories?

I’m adding an image to the woocommerce_product_thumbnails hook. What I want is that the image I added appears in the products that have the product categories I selected, how can I do this?

The hook I use

add_action( 'woocommerce_product_thumbnails' , 'wd_add_below_prod_gallery', 5 );  function wd_add_below_prod_gallery() {     echo '<div class="wd-add-image">';     echo '<img src="#" style="width:50%; margin: 0 auto;"></div>'; } 

Save product short description in order (without updating in order details if it is updated in product)

I understand that it is possible to display the short description of the product on the order details page, even in an email. But I need this not to update when I update the short product description.

Real situation: My products are updated every day, these products detail the number of parts that will actually be sent at the time of purchase, according to availability.

Title: Surprise box

Short description: Contains a palette, a lemon and a stone. (this changes every day)

I need to pass this short description in the mail, order details for the client and for the admin, so I can follow up later.

The problem is that I only find codes to show the short description of the updated product, no matter the time of purchase, the last one edited will always be shown.

any idea where to start?

How to deal with data-sheet and product PDFs which are repeated over the web?

What is the proper way to deal with a situation where a company ( is selling and implementing certain kinds of gadgets?

Each product has its own dedicated HTML product page, with only general information about the product. It also hosts data-sheets and vendor provided PDF documentation about the products linked from the product HTML pages. All together this is a setup that seems to be useful for real users.

Since these PDFs are mostly provided by the manufacturers, they appear in other places over the web, including rival websites. Many of these PDFs are detected as duplicate content by Google and the "Google-selected canonical" is the same PDF on someone else’s website!

Question 1: Does this mean that link-juice is leaked to those other random websites, even though is linking to the PDFs under it’s own domain?

Question 2: If answer to Q1 is yes, is adding rel="nofollow" to those links pointing to the PDFs be recommended?

To make things more complicated when I check the Links section in Google Search Console, I can see that apparently have loads of External links, but when I take a closer look, many of those are pointing to identical copies of these PDFs mostly on another site. In other words Google makes it look like we have incoming external links, whereas in reality other websites has links to these duplicate PDFs on their own domain.

Question 3: Is it a bug in Google Search Console that it shows links to PDFs on other websites as incoming external links to

Also when I look further I can find some of these PDFs, where the Google Selected Canonical seems to be the one on

Question 4: Does that mean that with those PDFs is stealing link juice from other sites, even when they link to their own hosted version of the same PDFs?

Question 5: If Q4 is yes, does that mean should examine the PDFs one-by-one and add rel="nofollow" (or prevent indexing in any other way according to Q2) to those links where the canonical is on another domain, but keep normal links to those PDFs, where has the canonical versions?

PS: I’ve tried to search for this topic for many days without finding even a mention of this kind of a situation. The closest I’ve found is this article, but it is about only a slightly similar topic and it does not offer any solutions to the problem.

The Secret to Supermarket Product Placement

Getting your product into a new store is hard enough on its own. But once that battle is won, the next one has already arrived. At first glance, you may just want to place your brand among other types of similar products.
However, just because this store aisle looks like the way to go doesn’t necessarily mean it’s the best place in the grocery or convenience store for your product to succeed. Understanding how supermarkets are set up is a great way to learn how to improve your products’ chances of making their way into a customer’s shopping cart.
Whenever consumers look at neatly arranged supermarket shelves, they’re really looking at live planograms. A planogram is a visual representation of product shelving that is used to maximize capacity and sales. Every field sales and marketing team can benefit from using planograms to aim for more profitable product placement.
In addition, planograms make is easy to plan shelf placement and organization across different stores. To learn more about how to use planograms, take a quick look at our “How to use a Planogram” article!
Product Placement Strategy
Supermarkets have a method to their madness when organizing their in-store product placement strategy. Just like you, they know that consumers have a difficult time sticking to their grocery shopping list, no matter how determined they are. This is good for CPG brands because that means your product has the opportunity to choose! Below are some of the clever ways stores place goods to maximize profit.
Cross Merchandising
Cross merchandising is the practice of placing complimentary goods together to grow basket size and drive impulse purchases. This product placement strategy is successful because often when consumers purchase something, they tend to think what else could go well with it.
Popular examples include wine and cheese, pasta and pasta sauce, and solo cups and ping pong balls. If your product goes well with something else in the store, it would be a great idea to bring up co-branding the two goods to the store owner. Not only could this increase the sales of your product, but it shows the store owner that you’re thinking about them too.
“Eye-Level Is Buy-Level”
This phrase is probably associated more with shelf placement than any other. For exactly this reason, the eye-level retail shelving real estate is the most expensive because it’s the most valuable to brands. However, there is even more to this idea. There are a few studies that suggest that similar to reading, we scan stores shelving space from left to right. If you can’t get into the prime, center real estate in a store aisle, learning which side, left or right, works best for your product will help your field teams maximize profits from store product placement and displays.
In-Store Product Placement Best Practices
Now that you know more about how supermarket product placement works, here are three things you can do to improve your in-store performance in 2019.
Negotiating Shelf Placement
Obviously, when you enter a new store, the owner won’t just give you the best shelf placement. Be prepared to explain why your product deserves that real estate you want for it. Remember, nobody knows your product’s strengths better than you do and negotiating with the grocery store owner is the ideal time to highlight those strengths.
A great way to back up your statements is by using data. Retailers want to know how your product will increase their profit margin. Providing evidence to them that your brand can perform as well as or better than your competitors will not only help your chances of entering a new store but of also getting the shelf space you desire. Any information you have concerning revenue, how your product should be displayed and promoted in stores and consumer demographics will go a long way towards helping your product succeed.
Dealing With Slotting Fees
It’s extremely likely that you’ll be faced with slotting fees, up-front costs retailers ask of manufacturers to guarantee them a spot on the shelf. While some big retailers have done away with slotting fees altogether, many of the nation’s grocery giants, big box stores, and convenience stores still require them. (Check out our article on slotting fees here to find out if retailers typically charge fees for your category.)
While slotting fees are certainly a roadblock for many growing brands, suppliers with a good data story can negotiate their way out of them. Here are three ways you might be able to get out of coughing up for your facings: 
1. Recognize the role of logistics: 
Understand how product arrangement in supermarkets and supply chain management factor into the price of a slotting fee. The more you can reduce the costs associated with stocking your product, the more likely you are to receive shelf placement and have leverage over how much you pay to play.
2. Drive growth through sales and marketing
Retailers need proof that your brand will sell should they decide to carry it. This can be accomplished with documentation of historical performance and a solid plan for how to move products in stores.
3. Prove demand for your brand
What makes your brand stand out? What can your company offer the retailer that others can’t? Show buyers why passing up on your product is a mistake.

Warehouses play a vital role in the overall supply chain. Here, the products are stored, and the orders picked, packed, packaged and labelled for delivery. When done right, customer satisfaction goes up several notches.
Racks are the backbone of the warehouse. By enabling products to be stacked in an organized and efficient manner, the warehouse racks ensure goods in the warehouse are easily accessible for order fulfilment. When the racks function properly, they are an asset to the warehouse, ensuring smooth operation. Any mishap in the racking system can have adverse consequences which will ripple across the entire supply chain.

With the boom in the commercial market, lighting has also found a special place in various establishments. Be it a retail store or a big supermarket, innovative lighting solutions are illuminating them all and helping them to be more productive.
It is a known fact that the designing and interior of a supermarket can highly influence a customer’s purchase decision. However, not many people might know that lighting also has an important role in this. It can have a significant impact on the workplace functionality and overall customer experience.
Lighting is a vital part of a supermarket and therefore it must be utilised in the best way. Today, there are many supermarket lighting solution providers that offer efficient LED lighting solutions like pendant lighting for all commercial needs.

How to change Gallery image url in product page ? In function.php?

My code is like

add_filter('wp_get_attachment_url', function($  url){     if(strstr($  _SERVER['HTTP_ACCEPT'], 'image/webp')!=false){         return $  url.".webp";     }else{         return $  url;     } }); 

But only the last image in Gallery changed to xxx.webp . I want to know how to change other image ….I want all of them changed to xxx.webp

I dont want use a plugin (Or if i have to …),Please HELP ,Thanks .

Dot product and “Encountered non-numeric value for a derivative at t == 0”

I was trying to solve a system of differential equations, and this worked:

vector = {f1[t],f2[t],f3[t]} equations = Flatten[Table[{D[vector[[i]], t] == vector[[i]]((matrix. vector)[[i]] - vector.PayoffMatrix.vector), (vector[[i]] /. t -> 0) == vectorT0[[i]]}, {i, Length[vector]}]] NDSolve[equations, vector, {t, 0, 30}] 

But if I add "." explicitly after vector[[i]]—it doesn’t:

vector = {f1[t],f2[t],f3[t]} equations = Flatten[Table[{D[vector[[i]], t] == vector[[i]].((matrix. vector)[[i]] - vector.PayoffMatrix.vector), (vector[[i]] /. t -> 0) == vectorT0[[i]]}, {i, Length[vector]}]] NDSolve[equations, vector, {t, 0, 30}] NDSolve::ndnum: Encountered non-numerical value for a derivative at t == 0.`. 

What’s wrong here? (Mathematica 12.2)