# Hooks > The filters of Wovie for developers: social icons, the logos and the footer, the copyright tags, the Drift pop, the SEO detection and the membership shown in the account, with an example for each one. Source: https://doothemes.com/docs/wovie/customization/hooks --- ## Overview Wovie offers WordPress filters to change parts of the theme without editing its files. Add your code to the `functions.php` of a child theme, or to a small plugin, so updates of Wovie do not remove it. See [Child theme](https://doothemes.com/docs/wovie/customization/child-theme). | Filter | What it changes | |---|---| | `wovie_social_icons` | The icons of the social links, by domain | | `wovie_header_branding` | The logo block of the header | | `wovie_footer_branding` | The logo, subtitle and social links of the footer | | `wovie_footer_nav` | The link columns of the footer | | `wovie_tags_footer` | The tags of the copyright text | | `wovie_footer_copyright` | The final copyright text | | `wovie_drift_pop_enabled` | Whether the Drift pop ad shows on a page | | `wovie_drift_pop_debug` | Logs of the Drift pop in the browser console | | `wovie_seo_plugin_active` | Whether Wovie leaves the SEO tags to a plugin | | `wovie_membership` | The membership shown in the account | ## Social icons `wovie_social_icons` receives the list of domains and their Font Awesome icons. Add a network or change an icon: ```php add_filter('wovie_social_icons', function ($icons) { $icons['mastodon.social'] = 'fa-brands fa-mastodon'; return $icons; }); ``` A domain also matches its subdomains. See [Menus](https://doothemes.com/docs/wovie/appearance/menus#footer-social-links). ## Logos and footer `wovie_header_branding`, `wovie_footer_branding` and `wovie_footer_nav` receive the HTML of their block, already built. Return it changed, or an empty string to remove the block: ```php // Remove the logo and social links row of the footer. add_filter('wovie_footer_branding', '__return_empty_string'); ``` ## Copyright tags `wovie_tags_footer` receives the copyright text after `{year}`, `{blogname}` and `{powered}` are replaced. Use it to add your own tags, then write them in **Appearance › Customize › Wovie / Footer › Copyright**: ```php add_filter('wovie_tags_footer', function ($text) { $privacy = sprintf('%s', esc_url(get_privacy_policy_url()), esc_html__('Privacy', 'wovie-child')); return str_replace('{privacy}', $privacy, $text); }); ``` `wovie_footer_copyright` receives the final HTML of the copyright, after the tags. ## Drift pop `wovie_drift_pop_enabled` decides whether the Drift pop loads on a page. WordPress conditional tags work in it. For example, to keep it off the sign in and account pages: ```php add_filter('wovie_drift_pop_enabled', function ($enabled) { if (is_page_template(['pages/page-auth.php', 'pages/page-account.php'])) { return false; } return $enabled; }); ``` `wovie_drift_pop_debug` writes what the Drift pop does in the browser console, to test it: ```php add_filter('wovie_drift_pop_debug', '__return_true'); ``` See [Ad positions](https://doothemes.com/docs/wovie/appearance/ad-positions#drift-pop). ## SEO plugin detection `wovie_seo_plugin_active` tells Wovie whether an SEO plugin is active, so it stops adding its own description and social tags. Return `true` for a plugin that Wovie does not detect. See [SEO](https://doothemes.com/docs/wovie/customization/seo#for-developers). ## Membership in the account `wovie_membership` receives the membership of a member, as Dbmovies resolves it, and their user ID. It changes what the theme shows: the dot on the avatar, the membership card and the **Membership** section. Access to premium links does not change: Dbmovies checks it. Its main keys are `state` (`none`, `processing`, `pending_manual`, `active`, `renewal_off`, `past_due` or `expired`), `plan_name`, `expires_at`, `next_billing_at`, `days_remaining`, `auto_renew` and `can_subscribe`. ```php // Do not offer plans to administrators. add_filter('wovie_membership', function ($membership, $user_id) { if (user_can($user_id, 'manage_options')) { $membership['can_subscribe'] = false; } return $membership; }, 10, 2); ``` ## Styles and scripts Wovie loads its files with these handles: | Handle | File | |---|---| | `wovie-webapp` | The styles (`wovie.min.css`) and the script (`wovie.min.js`) of Wovie | | `wovie-swiper-css` and `wovie-swiper-js` | Swiper, for the carousels | | `wovie-fontawesome` | Font Awesome | Use `wovie-webapp` as a dependency to load your own CSS or JavaScript after Wovie. ## Your own ad position The ad positions come from Dbmovies. To add one, register it with the `dbmovies_ad_slots` filter and show it with `dbmovies_ad()` in a template of your child theme: ```php add_filter('dbmovies_ad_slots', function ($slots) { $slots['my_banner'] = 'My banner under the hero'; return $slots; }); ``` ```php ``` The position then appears in **Dbmovies › Ads**. See [Ad Manager](https://doothemes.com/docs/dbmovies/modules/ad-manager). ## What a filter cannot change To change the HTML of a page or a section, replace its template in a child theme instead. See [Child theme](https://doothemes.com/docs/wovie/customization/child-theme#replacing-a-template).