=== AdFusion – Ad Manager, Monetization & AdSense Tracking === Contributors: brelandr Tags: ads, monetization, adsense, banner ads, ad tracking Requires at least: 6.2 Tested up to: 7.0 Requires PHP: 7.4 Stable tag: 1.2.1 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Ad manager, monetization & AdSense tracking for WordPress. Banner ads, AdSense/custom code, groups, rotation, shortcodes & REST API—Premium-ready. == Description == **AdFusion** is a free **ad manager** and **monetization** plugin for WordPress. Create **banner ads**, embed **Google AdSense** and custom HTML, organize **ad tracking** placements into groups with rotation, and publish everywhere with a simple shortcode or the REST API—without bloating your theme. Whether you run display ads, sponsored units, or **AdSense** code, AdFusion gives you a dedicated workflow: custom post types for ads, taxonomy-style **ad groups**, optional scheduling, and a path to **Premium** extensions when you need advanced layouts, imports, and reporting. = Built for WordPress 7.0 = AdFusion declares **Tested up to: 7.0** per WordPress 7.0 release guidance—so the plugin listing stays aligned with Core and users avoid “outdated tested” notices when they upgrade WordPress. * **Modern admin (default)** – WordPress 7.0 uses **Modern** as the default admin theme. Every admin screen—including those built with `@wordpress/components`—should be rechecked visually after upgrading; please report odd spacing or styling in AdFusion screens on the plugin support forums. * **Block editor iframe** – Work continues toward the editor always loading inside an iframe. If anything regresses inside the block editor (metabox areas, previews, integrations), note your theme and WP version—see the [iframed editor changes in WordPress 7.0](https://make.wordpress.org/core/2026/02/24/iframed-editor-changes-in-wordpress-7-0/) Field Guide chapter. * **PHP version** – WordPress 7.0 **drops PHP 7.2 and 7.3**. This plugin declares **Requires PHP: 7.4** as the Core minimum supported line; hosts should aim for PHP **8.3+**, which Core recommends. * **Abilities API** – WordPress 7.0 extends the abilities ecosystem (including broader client hooks). AdFusion stays hook-driven so **Premium** and site-specific code can adapt without patching Core plugin files. * **Real-Time Collaboration** – When your team uses collaborative editing in WordPress 7.0, AdFusion’s ad and group screens remain a stable place to manage **monetization** and **ad tracking** setup alongside your content workflow. Maintainers routinely validate against [Plugin Check](https://wordpress.org/plugins/plugin-check/) and the **[WordPress 7.0 Field Guide](https://make.wordpress.org/core/2026/05/14/wordpress-7-0-field-guide/)** so release notes align with upstream expectations—you can run Plugin Check locally as well before upgrading production sites. = Features = * **Custom Post Type** – Manage ads as a dedicated content type with full WordPress integration * **Ad Groups** – Organize ads into hierarchical groups (e.g., sidebar, header, footer) for easy rotation * **Multiple Ad Types** – Image ads (featured image), Custom Code / HTML / **AdSense**, and plain text * **Scheduling** – Optional start and end dates for time-limited campaigns * **Shortcode** – Display ads by ID or group: `[adfusion id="123"]` or `[adfusion group="sidebar-ads"]` * **REST API** – Ads and groups exposed for integrations (e.g., mobile apps, headless) * **Extensible** – Hooks and filters for **Premium** extensions (imports, advanced placements, analytics) = Shortcode Usage = Display a specific ad by ID: `[adfusion id="123"]` Display a random ad from a group (rotates on each page load): `[adfusion group="sidebar-ads"]` = Ad Types = * **Image Ad** – Uses the post's featured image. Set a destination URL for click-through. * **Custom Code / HTML / AdSense** – Paste third-party ad code (e.g., Google **AdSense**) for direct embedding. * **Plain Text** – Simple text ads with optional link. == Try It Live - Preview This Plugin Instantly == Experience AdFusion without installation! Click the link below to open WordPress Playground with the plugin pre-installed and configured with sample data. [Preview on WordPress Playground](https://wordpress.org/plugins/adfusion-ad-manager-and-monetization/?preview=1) == Installation == 1. Upload the plugin files to `/wp-content/plugins/adfusion-ad-manager-and-monetization/`, or install through WordPress plugins screen. 2. Activate the plugin through the 'Plugins' screen in WordPress. 3. Go to AdFusion in the admin menu to create ads and ad groups. 4. Use the shortcode `[adfusion id="X"]` or `[adfusion group="your-group-slug"]` in posts, pages, or widgets. == Frequently Asked Questions == = How do I create an ad group? = Go to AdFusion → Ads, then click "Ad Groups" in the submenu. Add new groups (e.g., "sidebar-ads", "header-banner") and assign ads to them when editing an ad. = Can I use Google AdSense? = Yes. Create an ad, select "Custom Code / HTML / AdSense" as the ad type, and paste your AdSense code in the Ad Code field. You need the `unfiltered_html` capability to save raw ad code. = Do ads have their own URLs? = No. Ads are set to `public: false`, so they do not have individual frontend pages. They are only displayed via the shortcode. = Does AdFusion work on WordPress 7.0? = Yes. AdFusion declares **Tested up to WordPress 7.0**. Please test staging sites on WP 7.0 (Beta Tester releases or finals) alongside your theme and caching stack; upgrade WordPress and PHP per your host checklist. = How should I sanity-check compatibility like the Plugin Team recommends? = Install the **[Plugin Check](https://wordpress.org/plugins/plugin-check/)** plugin from WordPress.org, select AdFusion from the checker UI, review the findings, then open support threads for anything reproducible—we treat those reports seriously around major releases. For upstream context see the **[WordPress 7.0 Field Guide](https://make.wordpress.org/core/2026/05/14/wordpress-7-0-field-guide/)**. == External Services == = Google AdSense = When AdSense fallback or Google Ads is enabled in Settings, the plugin loads the Google AdSense script from `https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js`. Your publisher ID (from the plugin settings) is passed as the `client` query parameter. No data is sent to AdFusion servers; the script communicates directly with Google's ad servers when ads are displayed. * [Google AdSense Terms of Service](https://www.google.com/adsense/new/localized-terms) * [Google Privacy Policy](https://policies.google.com/privacy) = Mobile apps and WebView (owned apps) = If you **own a native Android or iOS app** that loads your WordPress site in a **WebView** (or similar in-app browser) and you monetize with **Google AdSense** or **Google Ad Manager** display ads in that frame, Google requires the **WebView API for Ads** in the **app** (Google Mobile Ads SDK), not in this plugin. The plugin outputs standard web ad tags; your mobile developers must register each `WebView` with the SDK so app signals reach those tags. * Android: https://developers.google.com/ad-manager/mobile-ads-sdk/android/webview/api-for-ads * iOS: https://developers.google.com/ad-manager/mobile-ads-sdk/ios/webview/api-for-ads * In-app browser traffic and reporting: https://support.google.com/admanager/answer/14137220 * Test page (load inside your app’s WebView for QA): https://google.github.io/webview-ads/test#api-for-ads-tests == Screenshots == 1. AdFusion shows popup images, main leader banners (top of page), in-content ads, sticky bottom ads, after-content ads, before-content ads, story header ads, and much more (some of these are Premium-only options) 2. Listing of ads 3. Ad groups 4. In the Premium version you can set max image dimensions 5. Premium only: import and export your ads to a CSV file and sync ads between a primary site and other WordPress sites 6. In the Premium version you can import ads from other plugins 7. Premium version plugin settings 8. The Premium version helps prevent ad blockers from blocking your ads and includes reports so you can see how you are doing 9. Premium version settings 10. Premium version tools 11. Premium version general settings 12. In the Premium version you can sell subscriptions to your site and allow your users to visit your site ad-free 13. Listing of users who have subscribed to your site ad-free 14. Premium version includes analytics and reports 15. Premium version includes analytics and reports 16. Premium version: editing or adding an ad 17. Free version: editing or adding an ad 18. On secondary WordPress sites you can connect them to your main site to serve ads from. Impressions and clicks are logged on the main site. == Changelog == = 1.2.1 = * **WordPress 7.0 release alignment** – Readme reinforces **Tested up to: 7.0**, Modern admin, iframed editor awareness, PHP 7.4 minimum vs PHP **8.3+** recommendation, Plugin Check encouragement, Field Guide citation, FAQ entries for testers. * Releases **Stable tag** now matches a downloadable tag bundle on wordpress.org SVN (code + readme synced to trunk). = 1.2.0 = * **WordPress 7.0** – Tested up to 7.0; readme adds **Built for WordPress 7.0** with **Abilities API** and **Real-Time Collaboration** context for modern admin and team workflows. * Readme: SEO-focused refresh (title alignment, tags, short description, keyword-rich description). = 1.1.1 = * Readme: add WordPress Playground live preview section for the plugin directory. = 1.1.0 = * Maintenance release. = 1.0.0 = * Initial release * Custom Post Type for ads * Ad Groups taxonomy * Image, Code, and Text ad types * Start/End date scheduling * [adfusion] shortcode with id and group attributes * REST API support for ads and groups == Upgrade Notice == = 1.2.1 = WordPress 7.0 readme + compatibility narrative update (Modern admin / iframe guidance, Plugin Check pointer, Stable tag housekeeping). Bump version so WordPress.org tag matches readme “Stable tag”. = 1.2.0 = WordPress 7.0 tested; readme update highlighting Abilities API and Real-Time Collaboration. Recommended for all sites on current WordPress. = 1.1.1 = Readme update: live preview link on WordPress.org. No code changes required. = 1.1.0 = Maintenance release. = 1.0.0 = Initial release of AdFusion.