After that, however, I realized that the “woocommerce_is_purchasable” filter offered by the WooCommerce plugin makes the task much easier than just combining the two mini-plugins above.
So, here’s how it’s done – enjoy!
In case a customer is logged in, and has purchased a product, the Shop page will not show the “Add to Cart” button, but a “Read more” instead
The single product page, also, won’t show the Add to Cart button at all (once again, in case the current logged in user has purchased that product already)
PHP Snippet: Deny Further Sales If User Has Already Purchased a Product @ Shop / Single Product Page
This snippet will:
Hide the Add to Cart completely on the single product page
Rename the Add to Cart on the Shop Page to “Read More”