For various reasons. Perfect for com. Good data model. Huge ecosystem. Built in rest API and webhook support. The possibility of using plug-ins with woocomerce. Woocomerce addresses the field of e-commerce. We don’t want to spend too much time working in the e-commerce domain. SEO is our professional skill, so we want to focus on SEO. Woocomerce has a vibrant community in which we can participate. E-commerce: SKU, records and refunds are temporarily concentrated in the e-commerce domain. One aspect to consider is SKU. All products have a unique identifier SKU. SKU may sound unnecessary. There is an ID in the database. Why do you need a SKU? However, you will find that all financial departments of all companies already have the system. SKUs are not automatically added. Products need to be tracked in a clear way. The name does not apply to this. Therefore, about ast. SKU in. Com is now the same number used by the finance department to track products.
Another requirement is to keep a history of all purchases. Woocommerce does this by default. End after the order is completed. All data cannot be changed. If the customer changes name, address or email, the new information is only used for new orders. This may sound strange to developers, but it’s actually an advantage. You don’t want the bank to change the transaction. Once the transaction is completed, the transaction is completed. All mutations are new transactions. The biggest difference between history and refund. In the previous setup, the refund order will disappear from the export, and the income of the corresponding month will change. In woocommerce, all refunds have their own date and amount. So once a month is really over.
In woocommerce, all refunds have their own date and amount. So once a month is really over. Yoast. Due to the large amount of technical details and historical data of migrating com to woocommerce, a large number of orders need to be migrated. We chose the pandas tool, which is specially designed to deal with large-scale data sets and is a good choice for migration. If you plan other migrations, you may move in another direction. We will format the recorded data slowly in a few months. This will greatly reduce the amount of data to be migrated on the day of actual movement.
One major problem makes the process extremely complex. Since all data is stored in a meta value in the database, it is necessary to cancel serialization. Python does not have an efficient and correct method to perform PHP serialization, so PHP is used to deserialize the data. Statistics now you should notice that there are two sites. But we still want to summarize all the data in one place. This is one of the reasons why we build myyoast. All orders received will be synchronized with myyoast. That means myyoast knows everything.
Woocommerce has a web hook that can synchronize all orders. Usually, the biggest disadvantage of webhook is that webhook cannot receive after the receiving system is shut down. Looking at the code of Web hook, you can find the following fragments: For some message queues, such as ` \/ * * rabbit \/ zeromq, please ensure that other plug-ins block delivery. * \/ return apply_filters (\
uld_deliver, $this, $arg ); \
We considered using message queues, as suggested in the comments, but took a simpler approach. The ruby on rails community has a delay_job project. Found the PHP port that meets our requirements. As can be seen from the name, the delayed task is scheduled to run later. That means you can’t lose your job. If the operation fails, you can retry 4 more times. You can then use the task to debug what is wrong. This gives us a really powerful setting. Male web hook, custom heap URL“ http:\/\/my-yoast-job.url Configure woocommerce to ”. This allows you to capture these requests in your code. There is a scheduler class responsible for scheduling tasks. Capture the web hook request and replace it with an action.
yoast. Each basic building block in com has multiple classes that handle tasks. The operator then processes the task in the background. This process is fast, so customers can view products on myyoast immediately. If you’ve never read the WordPress twelve factor app as an app, I highly recommend you read it. Suggest a very powerful framework to develop web applications. How does it translate to a WordPress context? Better than expected. WordPress has several unique features that make setting up more difficult. However, you can get a powerful word press installation by solving these problems. If only one of them is executed, it must become a dependency. Start using composer! Work here. Rarst gives a good overview of how to use composer to develop word press. Automatic updates are not an option for complex web applications. Therefore, other solutions are needed, and composer works very well. Performance we started without using object caching. This proved to be a bad idea. If woocommerce is used to handle large sales, object caching is required. If not, the order model must completely re instantiate all requests related to the order. Many pages require an order model, so the cost is high. At least all payment pages must be able to access orders. In addition, in order to improve performance without caching, woocommerce itself creates several pull requests. One modification is to cache calls. Before modification, when only one call is required for each code, all calls will be translated. Considering that each store operates through only one currency, this is very inefficient. One thing woocomerce itself cannot easily fix is to search for orders and subscriptions. This will generate a query that allows you to close the entire site. This query contains many searches for post meta and takes a long time. Myyoast has built its own search function to solve this problem. If woocommerce has used the custom table in the woocommerce technology roadmap, the meta search problem will also be solved. This question also tells us what we think of our own plug-ins. Can you reduce the number of meta keys generated by yoast SEO? As a result, we added the creation of custom forms to our technology roadmap. The current list of WordPress plug-ins and woocommerce extensions provides us with a comprehensive idea. Below is a list of plug-ins currently used by our website store functions. The entire list contains 55 active plug-ins. CMB 2: release
Share experiences.