Actions and Filters

Herewith the “go to product” button can be removed everywhere.

add_filter( 'atomion_show_go_to_product_link', 'no_go_to_product_link' ); 
function no_go_to_product_link() { 
	return false; 
}

Permalink atomion_custom_fonts

If you want to disable / remove all fonts from Atomion, this can be done with the following filter.

add_filter( 'atomion_custom_fonts', '__return_false' );

Permalink atomion_page_headline

This filter can be used to modify the page titles. In this example, the page title is output as a second-level title instead of a first-level title.

add_filter( 'atomion_page_headline', function() {
	$headline = '<h2 class="entry-title">' . get_the_title() . '</h2>';
	return $headline;
});

Permalink atomion_change_theme_locale_at_ch

If the website language is set to German (Austria) or German (Switzerland) / German (Switzerland, You), Atomion uses the language files for German / German (You) for the translation of the theme texts.
If you don’t want this, you can use this filter to prevent this.

add_filter( 'atomion_change_theme_locale_at_ch', '__return_false' );

Permalink atomion_form_login_username_placeholder

In the login form Atomion sets the word “username” as a placeholder for the user name. With this filter the placeholder can be customized.

add_filter( 'atomion_form_login_username_placeholder', function() {
	return __( 'Username or email address', 'woocommerce' );
});

Permalink atomion_no_payment_details_text

If “Direct Bank Transfer” is enabled as the payment method, but no bank account details have been entered yet, Atomion will automatically display a note on the thank you page.

This can either be removed completely:

add_filter( 'atomion_no_payment_details_text', '__return_false' );

or be customized:

add_filter( 'atomion_no_payment_details_text', function() {
	return 'My new text'; 
});

Permalink atomion_social_icons

This filter can be used, for example, to define additional icons for automatic recognition via URL for social networks:

add_filter( 'atomion_social_icons', function( $social_icons ) {
	// Add additional "social network" for detection e.g. Steam gaming platform
	array_push( $social_icons, [ 'url' => 'steam.com', 'icon' => 'fab fa-steam', 'icon_filled' => 'fab fa-steam-square', 'title' => esc_html__( 'Show Steam Profile', 'textdomain' ), 'class' => 'steam'] );
	return $social_icons;
});

or the output of already existing networks can be modified:

add_filter( 'atomion_social_icons', function( $social_icons ) {
    // Change the value of a social network e.g. the class of the icon style filled by Facebook
    foreach ( $social_icons as $social_icon => $value ) {
        if ( 'facebook.com' === $value['url'] ) {
            $social_icons[$social_icon]['icon_filled'] = 'fab fa-facebook';         
        }
    }
	return $social_icons;
});

Permalink atomion_social_icons_list

If you want to display additional entries in the social network area but do not want to enter them in the customizer, you can do this as follows:

add_filter( 'atomion_social_icons_list', function( $output ) {
	// e.g. adding a link to Amazon
	array_push( $output, '<li class="social-media-icon nosocial"><a href="https://your-url.com/" target="_blank" title="go to Amazon"><i class="fab fa-amazon"></i></a></li>' );
	return $output;
});

Permalink atomion_widget_social_media_icons

Atomion’s Social Media Widget automatically displays all the social networks you have stored in the customizer. If you don’t want that, you can use this filter to modify the entire output.

add_filter( 'atomion_widget_social_media_icons', function() { 
	$output = '
	<ul class="social-media-icons">
		<li class="social-media-icon facebook"><a href="https://facebook.com/" target="_blank" title="Like me on Facebook"><i class="fab fa-facebook-f"></i></a></li>
		<li class="social-media-icon linkedin"><a href="https://linkedin.com/" target="_blank" title="Connect with me on LinkedIn"><i class="fab fa-linkedin-in"></i></a></li>
	</ul>';
	return $output;
});

Permalink atomion_breadcrumb_options

If the customizer options for the breadcrumb are not enough for you, you can use this filter, for example to set a custom icon for the home page or the delimiter or to use a different home page URL.

add_filter( 'atomion_breadcrumb_options', function( $options ) {
	
    // Own Home URL
	$options['home_url'] = 'https://your-url.com';
	
	// Own Home Icon
	$options['home'] = '<i class="fas fa-dog"></i>';
	
	// Own Delimiter Icons
	$options['separator'] = '<i class="fas fa-bone"></i>';
	
	return $options;
	
});

Permalink atomion_sale_badge_html

Since version 1.3.2 of Atomion, when displaying the discount percentage in the sale badge, the percentage value is preceded by a minus. If you do not want this, you can solve this with the help of this filter.

add_filter( 'atomion_sale_badge_html', function( $text, $post, $product, $discount_setting, $discount, $sale_text ) {

    // Do not display a minus sign in the sale badge for percentage discount display
	if ( $product->is_type( 'variable' ) || $product->is_type( 'grouped' ) ) {
		$text = sprintf( '<span class="onsale">%s</span>', $sale_text );
	} else {
		$text = sprintf( '<span class="onsale">%s%s</span>', $discount, '%' );
	}

	return $text;

}, 10, 6);

Permalink atomion_wc_registration_form

By default, the login form is displayed on the My Account page for users who are not logged in. After clicking on “Register” the registration form will be displayed.

If you want the registration form to be displayed first, you can use this filter.

add_filter( 'atomion_wc_registration_form', '__return_true' );

Permalink atomion_comment_form_author_url

The URL field in the comment section is not displayed by default in Atomion.
If you want to display this field, you can solve this with this filter.

add_filter( 'atomion_comment_form_author_url', function( $url_html, $commenter ) {

	$url_html = sprintf( '<p class="comment-form-url"><input id="url" name="url" type="url" value="%s" placeholder="Website" size="30" maxlength="200"></p>', esc_attr( $commenter['comment_author_url'] ) );

	return $url_html;

}, 10, 2 );

Permalink atomion_posted_by

This filter can be used to customize the markup for the author’s output.
For example, if the author should not be linked to the corresponding author archive, this can be implemented as follows:

add_filter( 'atomion_posted_by', function( $output, $author, $author_url ) {

	$output = '<span class="byline"> ' . sprintf(
		esc_html_x( 'by %s', 'post author', 'atomion' ),
		'<span class="author vcard">' . esc_html( $author ) . '</span>'
	) . '</span>';

	return $output;

}, 10, 3);

Permalink atomion_mini_cart_count_value

In the header next to the mini cart icon there is a counter, which by default shows the number of products in the cart.
If you want to count only the number of different products instead, you can do it like this:

add_filter( 'atomion_mini_cart_count_value', function( $value, $cart ) {

	if ( is_object( $cart ) && method_exists( $cart, 'get_cart' ) ) {

		$value = 0;
		foreach ( $cart->get_cart() as $item ) {
			$value++;
		}

	}

	return $value;

}, 10, 2 );

Permalink atomion_site_title_args

If no logo is defined in the Customizer, the site title is output instead. This filter can be used to customize the markup of the site title / logo.

add_filter( 'atomion_site_title_args', function( $args ) {
	$args['tag'] 		= 'h1';
	$args['url'] 		= '/shop/';
	$args['rel'] 		= 'shop';
	$args['title'] 		= 'Test';
	$args['aria-label'] = 'Home';

	return $args;
});

Permalink atomion_scripts_styles

If in the menu
Appearance -> Customize -> General settings -> Additional settings
the option(s) “Use combined CSS files” and / or “Use combined JS files” are disabled, this filter can be used to additionally modify the loading of individual files.

Examples:

add_filter('atomion_scripts_styles', function($assets) {
    // e.g. removing blocks.css
    unset($assets['css']['blocks']);

    // e.g. load shariff.css only on product pages
   if ( ! is_product() ) {
        $assets['css']['shariff']['active'] = false;
   }

   return $assets;
});
add_filter('atomion_scripts_styles', function($assets) {
    // e.g. removing compatibilities.js
    unset($assets['js']['compatibilities']);

    // e.g. load sliders.js only on product pages and place in head
   if ( ! is_product() ) {
        $assets['js']['sliders']['active'] = false;
        $assets['js']['sliders']['footer'] = false;
   }

   return $assets;
});

For more information, click here.

Permalink atomion_quick_view_button_args

This filter can be used to modify the output of the Quick View button.

Example:

// Customize the button text and change the icon
add_filter( 'atomion_quick_view_button_args', function( $args ) {

	$args['label'] 	= 'Open Quick View';
	$args['icon']	= '<i class="fas fa-expand"></i>';

	return $args;
});