{"id":292168,"date":"2026-03-31T02:10:32","date_gmt":"2026-03-31T02:10:32","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/adfusion-ad-manager-and-monetization\/"},"modified":"2026-03-31T15:08:27","modified_gmt":"2026-03-31T15:08:27","slug":"adfusion-ad-manager-and-monetization","status":"publish","type":"plugin","link":"https:\/\/pcd.wordpress.org\/plugins\/adfusion-ad-manager-and-monetization\/","author":12029770,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.1.1","stable_tag":"1.1.1","tested":"6.9.4","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"AdFusion","header_author":"Randy Breland","header_description":"Advanced ad management and monetization core foundation.","assets_banners_color":"948f83","last_updated":"2026-03-31 15:08:27","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/adfusion-ad-manager-and-monetization\/","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":93,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"brelandr","date":"2026-03-31 02:11:02"},"1.1.0":{"tag":"1.1.0","author":"brelandr","date":"2026-03-31 13:09:06"},"1.1.1":{"tag":"1.1.1","author":"brelandr","date":"2026-03-31 15:08:27"}},"upgrade_notice":{"1.1.1":"<p>Readme update: live preview link on WordPress.org. No code changes required.<\/p>","1.1.0":"<p>Maintenance release.<\/p>","1.0.0":"<p>Initial release of AdFusion.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3495675,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3495675,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3495710,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3495710,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3495741,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/\",\"preferredVersions\":{\"php\":\"8.2\",\"wp\":\"latest\"},\"features\":{\"networking\":true},\"steps\":[{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"},{\"step\":\"installPlugin\",\"options\":{\"activate\":true},\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"adfusion-ad-manager-and-monetization\"}},{\"step\":\"runPHP\",\"code\":\"<?php\\nrequire_once '\\\/wordpress\\\/wp-load.php';\\n\\n\\\/**\\n * Ensure an ad group term exists; return term ID.\\n *\\n * @param string $name Term name.\\n * @param string $slug Term slug.\\n * @return int\\n *\\\/\\nfunction adf_demo_term_id( $name, $slug ) {\\n\\t$term = wp_insert_term( $name, 'adfusion_group', array( 'slug' => $slug ) );\\n\\tif ( is_wp_error( $term ) ) {\\n\\t\\t$t = get_term_by( 'slug', $slug, 'adfusion_group' );\\n\\t\\treturn $t ? (int) $t->term_id : 0;\\n\\t}\\n\\treturn (int) $term['term_id'];\\n}\\n\\n\\\/**\\n * Create a text ad and assign groups.\\n *\\n * @param string   $title    Ad title.\\n * @param string   $slug     Post slug.\\n * @param int[]    $term_ids Term IDs.\\n * @param string   $code     Text body.\\n * @param int      $weight   Weight.\\n * @return int Post ID or 0.\\n *\\\/\\nfunction adf_demo_text_ad( $title, $slug, $term_ids, $code, $weight = 10 ) {\\n\\t$id = wp_insert_post(\\n\\t\\tarray(\\n\\t\\t\\t'post_title'  => $title,\\n\\t\\t\\t'post_name'   => $slug,\\n\\t\\t\\t'post_status' => 'publish',\\n\\t\\t\\t'post_type'   => 'adfusion_ad',\\n\\t\\t)\\n\\t);\\n\\tif ( ! $id || is_wp_error( $id ) ) {\\n\\t\\treturn 0;\\n\\t}\\n\\tif ( ! empty( $term_ids ) ) {\\n\\t\\twp_set_object_terms( $id, array_map( 'intval', $term_ids ), 'adfusion_group' );\\n\\t}\\n\\tupdate_post_meta( $id, '_adf_ad_type', 'text' );\\n\\tupdate_post_meta( $id, '_adf_ad_code', $code );\\n\\tupdate_post_meta( $id, '_adf_weight', (string) $weight );\\n\\tupdate_post_meta( $id, '_adf_destination_url', 'https:\\\/\\\/example.com' );\\n\\tupdate_post_meta( $id, '_adf_ad_url', 'https:\\\/\\\/example.com' );\\n\\treturn (int) $id;\\n}\\n\\n\\\/**\\n * Create an image ad and assign groups.\\n *\\n * @param string   $title     Ad title.\\n * @param string   $slug      Post slug.\\n * @param int[]    $term_ids  Term IDs.\\n * @param string   $image_url Image URL (HTTPS, WordPress.org CDN).\\n * @param int      $weight    Weight.\\n * @return int Post ID or 0.\\n *\\\/\\nfunction adf_demo_image_ad( $title, $slug, $term_ids, $image_url, $weight = 10 ) {\\n\\t$id = wp_insert_post(\\n\\t\\tarray(\\n\\t\\t\\t'post_title'  => $title,\\n\\t\\t\\t'post_name'   => $slug,\\n\\t\\t\\t'post_status' => 'publish',\\n\\t\\t\\t'post_type'   => 'adfusion_ad',\\n\\t\\t)\\n\\t);\\n\\tif ( ! $id || is_wp_error( $id ) ) {\\n\\t\\treturn 0;\\n\\t}\\n\\tif ( ! empty( $term_ids ) ) {\\n\\t\\twp_set_object_terms( $id, array_map( 'intval', $term_ids ), 'adfusion_group' );\\n\\t}\\n\\tupdate_post_meta( $id, '_adf_ad_type', 'image' );\\n\\tupdate_post_meta( $id, '_adf_ad_image', esc_url_raw( $image_url ) );\\n\\tupdate_post_meta( $id, '_adf_weight', (string) $weight );\\n\\tupdate_post_meta( $id, '_adf_destination_url', 'https:\\\/\\\/wordpress.org' );\\n\\tupdate_post_meta( $id, '_adf_ad_url', 'https:\\\/\\\/wordpress.org' );\\n\\treturn (int) $id;\\n}\\n\\n\\\/\\\/ Group slugs align with Settings UI labels and option keys (free + Premium).\\n$g_story_header  = adf_demo_term_id( 'Story header (above title)', 'story-header' );\\n$g_header_strip  = adf_demo_term_id( 'Header strip', 'header-strip' );\\n$g_after_content = adf_demo_term_id( 'After content', 'after-content' );\\n$g_leaderboard   = adf_demo_term_id( 'Leaderboard', 'leaderboard' );\\n$g_incontent_1   = adf_demo_term_id( 'In-content 1', 'incontent-1' );\\n$g_incontent_2   = adf_demo_term_id( 'In-content 2', 'incontent-2' );\\n$g_story_footer  = adf_demo_term_id( 'Story footer', 'story-footer' );\\n$g_sticky        = adf_demo_term_id( 'Sticky anchor', 'sticky-footer' );\\n$g_popup         = adf_demo_term_id( 'Popup', 'popup' );\\n\\n\\\/\\\/ Sample images: WordPress.org \\\/ theme directory assets (HTTPS, public CDN).\\n$img_story_header  = 'https:\\\/\\\/s.w.org\\\/style\\\/images\\\/welcome\\\/about-header-about.png';\\n$img_header_strip  = 'https:\\\/\\\/s.w.org\\\/style\\\/images\\\/wp-header-logo.png';\\n$img_after_content = 'https:\\\/\\\/s.w.org\\\/style\\\/images\\\/about\\\/WordPress-logotype-standard.png';\\n$img_leaderboard   = 'https:\\\/\\\/s.w.org\\\/images\\\/core\\\/5.8\\\/about-header-bg.jpg';\\n$img_incontent_1   = 'https:\\\/\\\/themes.svn.wordpress.org\\\/twentytwentyfour\\\/1.2\\\/screenshot.png';\\n$img_incontent_2   = 'https:\\\/\\\/themes.svn.wordpress.org\\\/twentytwentythree\\\/1.4\\\/screenshot.png';\\n$img_story_footer  = 'https:\\\/\\\/themes.svn.wordpress.org\\\/twentytwentytwo\\\/1.8\\\/screenshot.png';\\n$img_sticky        = 'https:\\\/\\\/themes.svn.wordpress.org\\\/twentytwentyone\\\/2.2\\\/screenshot.png';\\n$img_popup         = 'https:\\\/\\\/themes.svn.wordpress.org\\\/twentytwentyfive\\\/1.0\\\/screenshot.png';\\n\\n\\\/\\\/ Text + image per group (equal weight) so the rotator can pick either.\\n$w_text  = 10;\\n$w_image = 10;\\n\\n$first_id       = 0;\\n$first_image_id = 0;\\n\\n$ids = array();\\n\\n$ids[] = adf_demo_text_ad( 'Sample text \\u2014 Story header', 'sample-text-story-header', array( $g_story_header ), 'Story header (text) \\u2014 rotates with the image ad in this group.', $w_text );\\n$t     = adf_demo_image_ad( 'Sample image \\u2014 Story header', 'sample-img-story-header', array( $g_story_header ), $img_story_header, $w_image );\\n$ids[] = $t;\\nif ( $t > 0 && 0 === $first_image_id ) {\\n\\t$first_image_id = $t;\\n}\\n\\n$ids[] = adf_demo_text_ad( 'Sample text \\u2014 Header strip', 'sample-text-header-strip', array( $g_header_strip ), 'Header strip (text) \\u2014 Before content in core; rotates with image.', $w_text );\\n$ids[] = adf_demo_image_ad( 'Sample image \\u2014 Header strip', 'sample-img-header-strip', array( $g_header_strip ), $img_header_strip, $w_image );\\n\\n$ids[] = adf_demo_text_ad( 'Sample text \\u2014 After content', 'sample-text-after-content', array( $g_after_content ), 'After content (text) \\u2014 end of post body; rotates with image.', $w_text );\\n$ids[] = adf_demo_image_ad( 'Sample image \\u2014 After content', 'sample-img-after-content', array( $g_after_content ), $img_after_content, $w_image );\\n\\n$ids[] = adf_demo_text_ad( 'Sample text \\u2014 Leaderboard', 'sample-text-leaderboard', array( $g_leaderboard ), 'Leaderboard (text) \\u2014 rotates with image.', $w_text );\\n$ids[] = adf_demo_image_ad( 'Sample image \\u2014 Leaderboard', 'sample-img-leaderboard', array( $g_leaderboard ), $img_leaderboard, $w_image );\\n\\n$ids[] = adf_demo_text_ad( 'Sample text \\u2014 In-content 1', 'sample-text-incontent-1', array( $g_incontent_1 ), 'In-content 1 (text) \\u2014 rotates with image.', $w_text );\\n$ids[] = adf_demo_image_ad( 'Sample image \\u2014 In-content 1', 'sample-img-incontent-1', array( $g_incontent_1 ), $img_incontent_1, $w_image );\\n\\n$ids[] = adf_demo_text_ad( 'Sample text \\u2014 In-content 2', 'sample-text-incontent-2', array( $g_incontent_2 ), 'In-content 2 (text) \\u2014 rotates with image.', $w_text );\\n$ids[] = adf_demo_image_ad( 'Sample image \\u2014 In-content 2', 'sample-img-incontent-2', array( $g_incontent_2 ), $img_incontent_2, $w_image );\\n\\n$ids[] = adf_demo_text_ad( 'Sample text \\u2014 Story footer', 'sample-text-story-footer', array( $g_story_footer ), 'Story footer (text) \\u2014 rotates with image.', $w_text );\\n$ids[] = adf_demo_image_ad( 'Sample image \\u2014 Story footer', 'sample-img-story-footer', array( $g_story_footer ), $img_story_footer, $w_image );\\n\\n$ids[] = adf_demo_text_ad( 'Sample text \\u2014 Sticky anchor', 'sample-text-sticky', array( $g_sticky ), 'Sticky anchor (text) \\u2014 rotates with image.', $w_text );\\n$ids[] = adf_demo_image_ad( 'Sample image \\u2014 Sticky anchor', 'sample-img-sticky', array( $g_sticky ), $img_sticky, $w_image );\\n\\n$ids[] = adf_demo_text_ad( 'Sample text \\u2014 Popup', 'sample-text-popup', array( $g_popup ), 'Popup (text) \\u2014 rotates with image.', $w_text );\\n$ids[] = adf_demo_image_ad( 'Sample image \\u2014 Popup', 'sample-img-popup', array( $g_popup ), $img_popup, $w_image );\\n\\nforeach ( $ids as $aid ) {\\n\\tif ( $aid > 0 ) {\\n\\t\\t$first_id = $aid;\\n\\t\\tbreak;\\n\\t}\\n}\\n\\nif ( $first_image_id > 0 ) {\\n\\t$first_id = $first_image_id;\\n}\\n\\n\\\/\\\/ Free core: before \\\/ after post content (single posts).\\nupdate_option( 'adfusion_before_content_group', 'header-strip' );\\nupdate_option( 'adfusion_after_content_group', 'after-content' );\\n\\n\\\/\\\/ Premium placements (stored for when Premium is active; wp.org Playground ships core plugin only).\\nupdate_option( 'adfusion_premium_story_header_group', 'story-header' );\\nupdate_option( 'adfusion_premium_leaderboard_group', 'leaderboard' );\\nupdate_option( 'adfusion_premium_incontent_group', 'incontent-1' );\\nupdate_option( 'adfusion_premium_incontent_2_group', 'incontent-2' );\\nupdate_option( 'adfusion_premium_story_footer_group', 'story-footer' );\\nupdate_option( 'adfusion_premium_sticky_anchor_group', 'sticky-footer' );\\nupdate_option( 'adfusion_premium_popup_group', 'popup' );\\nupdate_option( 'adfusion_premium_incontent_paragraph', 3 );\\nupdate_option( 'adfusion_premium_incontent_2_paragraph', 8 );\\n\\n$paragraphs = array(\\n\\t'This sample post has multiple paragraphs so Premium in-content placements have anchors.',\\n\\t'Second paragraph \\u2014 keep reading for the demo story.',\\n\\t'Third paragraph \\u2014 In-content 1 targets after paragraph 3 by default.',\\n\\t'Fourth paragraph of placeholder text.',\\n\\t'Fifth paragraph.',\\n\\t'Sixth paragraph.',\\n\\t'Seventh paragraph.',\\n\\t'Eighth paragraph \\u2014 In-content 2 targets after paragraph 8 by default.',\\n\\t'Ninth paragraph.',\\n\\t'Tenth paragraph \\u2014 end of demo body.',\\n);\\n$post_body = '';\\nforeach ( $paragraphs as $p ) {\\n\\t$post_body .= '<p>' . esc_html( $p ) . '<\\\/p>';\\n}\\n\\n$post_id = wp_insert_post(\\n\\tarray(\\n\\t\\t'post_title'   => 'Sample post with placements',\\n\\t\\t'post_name'    => 'adfusion-demo-story',\\n\\t\\t'post_content' => $post_body,\\n\\t\\t'post_status'  => 'publish',\\n\\t\\t'post_type'    => 'post',\\n\\t)\\n);\\n\\n$story_url = ( $post_id && ! is_wp_error( $post_id ) ) ? get_permalink( $post_id ) : home_url( '\\\/' );\\n\\n$html  = '<h2>AdFusion Playground demo<\\\/h2>';\\n$html .= '<p>Each group has <strong>two ads<\\\/strong> (text + image, equal weight) so the rotator can show either. <strong>Before content<\\\/strong> uses the <em>Header strip<\\\/em> group. Open <a href=\\\"' . esc_url( $story_url ) . '\\\">the sample single post<\\\/a> for core before\\\/after injection.<\\\/p>';\\n$html .= '<p>Premium placements are saved in options; they render when <strong>AdFusion Premium<\\\/strong> is active.<\\\/p>';\\n$html .= '<h3>Story header (above title)<\\\/h3>';\\n$html .= '[adfusion group=\\\"story-header\\\"]';\\n$html .= '<h3>Header strip \\u2014 Before content (core)<\\\/h3>';\\n$html .= '[adfusion group=\\\"header-strip\\\"]';\\n$html .= '<h3>After content (core)<\\\/h3>';\\n$html .= '[adfusion group=\\\"after-content\\\"]';\\n$html .= '<h3>Leaderboard<\\\/h3>';\\n$html .= '[adfusion group=\\\"leaderboard\\\"]';\\n$html .= '<h3>In-content 1<\\\/h3>';\\n$html .= '[adfusion group=\\\"incontent-1\\\"]';\\n$html .= '<h3>In-content 2<\\\/h3>';\\n$html .= '[adfusion group=\\\"incontent-2\\\"]';\\n$html .= '<h3>Story footer<\\\/h3>';\\n$html .= '[adfusion group=\\\"story-footer\\\"]';\\n$html .= '<h3>Sticky anchor<\\\/h3>';\\n$html .= '[adfusion group=\\\"sticky-footer\\\"]';\\n$html .= '<h3>Popup<\\\/h3>';\\n$html .= '[adfusion group=\\\"popup\\\"]';\\nif ( $first_id > 0 ) {\\n\\t$html .= '<h3>Single ad by ID (sample image)<\\\/h3>';\\n\\t$html .= '[adfusion id=\\\"' . (int) $first_id . '\\\"]';\\n}\\n\\n$page_id = wp_insert_post(\\n\\tarray(\\n\\t\\t'post_title'   => 'AdFusion demo',\\n\\t\\t'post_name'    => 'adfusion-demo',\\n\\t\\t'post_content' => $html,\\n\\t\\t'post_status'  => 'publish',\\n\\t\\t'post_type'    => 'page',\\n\\t)\\n);\\n\\nif ( $page_id && ! is_wp_error( $page_id ) ) {\\n\\tupdate_option( 'show_on_front', 'page' );\\n\\tupdate_option( 'page_on_front', (int) $page_id );\\n}\\n\"}]}"}},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0","1.1.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3495675,"resolution":"1","location":"assets","locale":""},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3495675,"resolution":"10","location":"assets","locale":""},"screenshot-11.png":{"filename":"screenshot-11.png","revision":3495675,"resolution":"11","location":"assets","locale":""},"screenshot-12.png":{"filename":"screenshot-12.png","revision":3495675,"resolution":"12","location":"assets","locale":""},"screenshot-13.png":{"filename":"screenshot-13.png","revision":3495675,"resolution":"13","location":"assets","locale":""},"screenshot-14.png":{"filename":"screenshot-14.png","revision":3495675,"resolution":"14","location":"assets","locale":""},"screenshot-15.png":{"filename":"screenshot-15.png","revision":3495675,"resolution":"15","location":"assets","locale":""},"screenshot-16.png":{"filename":"screenshot-16.png","revision":3495692,"resolution":"16","location":"assets","locale":""},"screenshot-17.png":{"filename":"screenshot-17.png","revision":3495692,"resolution":"17","location":"assets","locale":""},"screenshot-18.png":{"filename":"screenshot-18.png","revision":3495692,"resolution":"18","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3495675,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3495675,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3495675,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3495675,"resolution":"5","location":"assets","locale":""},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3495675,"resolution":"6","location":"assets","locale":""},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3495675,"resolution":"7","location":"assets","locale":""},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3495675,"resolution":"8","location":"assets","locale":""},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3495675,"resolution":"9","location":"assets","locale":""}},"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."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[259058,2730,321,377,80],"plugin_category":[35,43],"plugin_contributors":[251791],"plugin_business_model":[],"class_list":["post-292168","plugin","type-plugin","status-publish","hentry","plugin_tags-ad-groups","plugin_tags-ad-management","plugin_tags-ads","plugin_tags-monetization","plugin_tags-shortcode","plugin_category-advertising","plugin_category-customization","plugin_contributors-brelandr","plugin_committers-brelandr"],"banners":{"banner":"https:\/\/ps.w.org\/adfusion-ad-manager-and-monetization\/assets\/banner-772x250.png?rev=3495710","banner_2x":"https:\/\/ps.w.org\/adfusion-ad-manager-and-monetization\/assets\/banner-1544x500.png?rev=3495710","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/adfusion-ad-manager-and-monetization\/assets\/icon-128x128.png?rev=3495675","icon_2x":"https:\/\/ps.w.org\/adfusion-ad-manager-and-monetization\/assets\/icon-256x256.png?rev=3495675","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/adfusion-ad-manager-and-monetization\/assets\/screenshot-1.png?rev=3495675","caption":"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)"},{"src":"https:\/\/ps.w.org\/adfusion-ad-manager-and-monetization\/assets\/screenshot-2.png?rev=3495675","caption":"Listing of ads"},{"src":"https:\/\/ps.w.org\/adfusion-ad-manager-and-monetization\/assets\/screenshot-3.png?rev=3495675","caption":"Ad groups"},{"src":"https:\/\/ps.w.org\/adfusion-ad-manager-and-monetization\/assets\/screenshot-4.png?rev=3495675","caption":"In the Premium version you can set max image dimensions"},{"src":"https:\/\/ps.w.org\/adfusion-ad-manager-and-monetization\/assets\/screenshot-5.png?rev=3495675","caption":"Premium only: import and export your ads to a CSV file and sync ads between a primary site and other WordPress sites"},{"src":"https:\/\/ps.w.org\/adfusion-ad-manager-and-monetization\/assets\/screenshot-6.png?rev=3495675","caption":"In the Premium version you can import ads from other plugins"},{"src":"https:\/\/ps.w.org\/adfusion-ad-manager-and-monetization\/assets\/screenshot-7.png?rev=3495675","caption":"Premium version plugin settings"},{"src":"https:\/\/ps.w.org\/adfusion-ad-manager-and-monetization\/assets\/screenshot-8.png?rev=3495675","caption":"The Premium version helps prevent ad blockers from blocking your ads and includes reports so you can see how you are doing"},{"src":"https:\/\/ps.w.org\/adfusion-ad-manager-and-monetization\/assets\/screenshot-9.png?rev=3495675","caption":"Premium version settings"},{"src":"https:\/\/ps.w.org\/adfusion-ad-manager-and-monetization\/assets\/screenshot-10.png?rev=3495675","caption":"Premium version tools"},{"src":"https:\/\/ps.w.org\/adfusion-ad-manager-and-monetization\/assets\/screenshot-11.png?rev=3495675","caption":"Premium version general settings"},{"src":"https:\/\/ps.w.org\/adfusion-ad-manager-and-monetization\/assets\/screenshot-12.png?rev=3495675","caption":"In the Premium version you can sell subscriptions to your site and allow your users to visit your site ad-free"},{"src":"https:\/\/ps.w.org\/adfusion-ad-manager-and-monetization\/assets\/screenshot-13.png?rev=3495675","caption":"Listing of users who have subscribed to your site ad-free"},{"src":"https:\/\/ps.w.org\/adfusion-ad-manager-and-monetization\/assets\/screenshot-14.png?rev=3495675","caption":"Premium version includes analytics and reports"},{"src":"https:\/\/ps.w.org\/adfusion-ad-manager-and-monetization\/assets\/screenshot-15.png?rev=3495675","caption":"Premium version includes analytics and reports"},{"src":"https:\/\/ps.w.org\/adfusion-ad-manager-and-monetization\/assets\/screenshot-16.png?rev=3495692","caption":"Premium version: editing or adding an ad"},{"src":"https:\/\/ps.w.org\/adfusion-ad-manager-and-monetization\/assets\/screenshot-17.png?rev=3495692","caption":"Free version: editing or adding an ad"},{"src":"https:\/\/ps.w.org\/adfusion-ad-manager-and-monetization\/assets\/screenshot-18.png?rev=3495692","caption":"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."}],"raw_content":"<!--section=description-->\n<p>AdFusion provides a solid foundation for managing advertisements on your WordPress site. Create ad units, organize them into groups for rotation, and display them anywhere using a simple shortcode.<\/p>\n\n<h3>Try It Live - Preview This Plugin Instantly<\/h3>\n\n<p>Experience AdFusion without installation! Click the link below to open WordPress Playground with the plugin pre-installed and configured with sample data.<\/p>\n\n<p><a href=\"https:\/\/wordpress.org\/plugins\/adfusion-ad-manager-and-monetization\/?preview=1\">Preview on WordPress Playground<\/a><\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Custom Post Type<\/strong> \u2013 Manage ads as a dedicated content type with full WordPress integration<\/li>\n<li><strong>Ad Groups<\/strong> \u2013 Organize ads into hierarchical groups (e.g., sidebar, header, footer) for easy rotation<\/li>\n<li><strong>Multiple Ad Types<\/strong> \u2013 Support for Image ads (featured image), Custom Code\/HTML\/AdSense, and Plain Text<\/li>\n<li><strong>Scheduling<\/strong> \u2013 Optional start and end dates for time-limited campaigns<\/li>\n<li><strong>Shortcode<\/strong> \u2013 Display ads by ID or group: <code>[adfusion id=\"123\"]<\/code> or <code>[adfusion group=\"sidebar-ads\"]<\/code><\/li>\n<li><strong>REST API<\/strong> \u2013 Ads and groups exposed for future integrations (e.g., mobile apps)<\/li>\n<li><strong>Extensible<\/strong> \u2013 Hooks and filters for Premium extensions to build upon<\/li>\n<\/ul>\n\n<h4>Shortcode Usage<\/h4>\n\n<p>Display a specific ad by ID:\n    [adfusion id=\"123\"]<\/p>\n\n<p>Display a random ad from a group (rotates on each page load):\n    [adfusion group=\"sidebar-ads\"]<\/p>\n\n<h4>Ad Types<\/h4>\n\n<ul>\n<li><strong>Image Ad<\/strong> \u2013 Uses the post's featured image. Set a destination URL for click-through.<\/li>\n<li><strong>Custom Code \/ HTML \/ AdSense<\/strong> \u2013 Paste third-party ad code (e.g., Google AdSense) for direct embedding.<\/li>\n<li><strong>Plain Text<\/strong> \u2013 Simple text ads with optional link.<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<h4>Google AdSense<\/h4>\n\n<p>When AdSense fallback or Google Ads is enabled in Settings, the plugin loads the Google AdSense script from <code>https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js<\/code>. Your publisher ID (from the plugin settings) is passed as the <code>client<\/code> query parameter. No data is sent to AdFusion servers; the script communicates directly with Google's ad servers when ads are displayed.<\/p>\n\n<ul>\n<li><a href=\"https:\/\/www.google.com\/adsense\/new\/localized-terms\">Google AdSense Terms of Service<\/a><\/li>\n<li><a href=\"https:\/\/policies.google.com\/privacy\">Google Privacy Policy<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/adfusion-ad-manager-and-monetization\/<\/code>, or install through WordPress plugins screen.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Go to AdFusion in the admin menu to create ads and ad groups.<\/li>\n<li>Use the shortcode <code>[adfusion id=\"X\"]<\/code> or <code>[adfusion group=\"your-group-slug\"]<\/code> in posts, pages, or widgets.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20create%20an%20ad%20group%3F\"><h3>How do I create an ad group?<\/h3><\/dt>\n<dd><p>Go to AdFusion \u2192 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.<\/p><\/dd>\n<dt id=\"can%20i%20use%20google%20adsense%3F\"><h3>Can I use Google AdSense?<\/h3><\/dt>\n<dd><p>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 <code>unfiltered_html<\/code> capability to save raw ad code.<\/p><\/dd>\n<dt id=\"do%20ads%20have%20their%20own%20urls%3F\"><h3>Do ads have their own URLs?<\/h3><\/dt>\n<dd><p>No. Ads are set to <code>public: false<\/code>, so they do not have individual frontend pages. They are only displayed via the shortcode.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Readme: add WordPress Playground live preview section for the plugin directory.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Maintenance release.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Custom Post Type for ads<\/li>\n<li>Ad Groups taxonomy<\/li>\n<li>Image, Code, and Text ad types<\/li>\n<li>Start\/End date scheduling<\/li>\n<li>[adfusion] shortcode with id and group attributes<\/li>\n<li>REST API support for ads and groups<\/li>\n<\/ul>","raw_excerpt":"Advanced ad management and monetization core foundation. Create, organize, and display ads with image, custom code, or text formats.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/292168","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=292168"}],"author":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/brelandr"}],"wp:attachment":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=292168"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=292168"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=292168"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=292168"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=292168"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=292168"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}