add_filter( 'woocommerce_get_price_html', function( $price_html, $product ) {
// Unauthenticated Users Price Hide And Message
if( is_product() || is_shop() || is_product_category() ) {
if( ! get_current_user_id() ) {
return sprintf(
'
<p id="authentication-required">
Please <a href="%s">[log in]</a>
or <a href="%s">[register]</a> to see pricing.
</p>
',
'/my-account/', '/registration/'
);
}
}
// Selected Variation Price
if( $product->is_type( 'variation' ) ) {
return $price_html;
}
// Variable Products
if(
$product->is_type( 'variable' )
|| $product->is_type( 'variable-subscription' )
) {
// Hiding: Single Products, Variable Price (Range)
if( is_product() ) {
return '';
}
// Archives Remove The Word From
if( is_shop() || is_product_category() ) {
return str_replace( 'From: ', '', $price_html );
}
}
// Default
return $price_html;
}, 10, 2 );
Hide pricing except for authenticated users
Hides prices for unauthenticated traffic, linking them to log-in. Changes variation pricing display.
How to use
- Log into a staging, development, or locally hosted clone of your site
- Install and activate Code Snippets
- WP Admin > Snippets > Add New
- Copy and paste the code from the Description tab above
- Check to ensure formatting came over properly and no syntax errors show up in the editor
- Customize the code as desired
- Add a meaningful title
- Select whether to run on front-end or back-end (or both)
- Click “Save and Activate”
- Test your site to ensure it works
- Disable if any problems, or recover
- Repeat for live environment
License
All code snippets are licensed GPLv2 (or later) matching WordPress licensing.
Disclaimer of warranty:
Except when otherwise stated in writing the copyright holders and/or other parties provide the program as-is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose.
Support
- Describe the issue and what you’ve observed.
- Describe your expected outcome(s).
- List steps to reproduce the issue.
- Optionally provide screen-shot or video URLs.
