[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f5ZsGBus-PyOndyo9eJZgD9yd07_s_8bmrGHP9anwvtw":3},{"slug":4,"display_name":4,"profile_url":5,"plugin_count":6,"total_installs":7,"avg_security_score":8,"avg_patch_time_days":9,"trust_score":10,"computed_at":11,"plugins":12},"trucetech","https:\u002F\u002Fprofiles.wordpress.org\u002Ftrucetech\u002F",3,0,100,30,94,"2026-08-29T03:24:40.544Z",[13,34,49],{"slug":14,"name":15,"version":16,"author":4,"author_profile":5,"description":17,"short_description":18,"active_installs":7,"downloaded":19,"rating":7,"num_ratings":7,"last_updated":20,"tested_up_to":21,"requires_at_least":22,"requires_php":23,"tags":24,"homepage":30,"download_link":31,"security_score":8,"vuln_count":7,"unpatched_count":7,"last_vuln_date":32,"fetched_at":33},"truce-label-ads","Truce Label Ads","1.0.0","\u003Cp>\u003Cstrong>Truce Label Ads\u003C\u002Fstrong> is a lightweight, privacy-friendly way to place ads from popular ad networks on your WordPress site — without ever pasting raw ad code.\u003C\u002Fp>\n\u003Cp>Instead of a free-form code box, you simply choose your ad network and enter your own IDs (for example your AdSense publisher and slot IDs). The plugin then generates the correct, known ad markup for that network from a fixed, vetted template. You stay in control, your site stays fast, and there is no opaque third-party code to copy and paste.\u003C\u002Fp>\n\u003Ch4>Why this approach?\u003C\u002Fh4>\n\u003Cp>Many ad plugins let you paste arbitrary HTML or JavaScript. That is flexible but risky: a single bad paste can break your layout or expose your site. Truce Label Ads is built the opposite way on purpose. Every supported network has its own carefully written, non-editable template, and you only ever provide validated identifiers. Anything that is not a recognized ID is rejected. This keeps the plugin safe, predictable, and easy to review.\u003C\u002Fp>\n\u003Ch4>Supported integrations\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Google AdSense\u003C\u002Fstrong> — display units (responsive, in-article, and fixed sizes) using your publisher and slot IDs.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Google AdSense Auto Ads\u003C\u002Fstrong> — site-wide auto ads from your publisher ID.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Google Ad Manager (GPT)\u003C\u002Fstrong> — defined by your network code, ad unit path, and sizes.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Media.net\u003C\u002Fstrong> — using your customer ID and ad unit\u002Ftag ID.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Ezoic\u003C\u002Fstrong> — placeholder units for your Ezoic integration.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Direct banner\u003C\u002Fstrong> — upload or link an image with a click-through URL. No scripts at all.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Affiliate banner\u003C\u002Fstrong> — image plus your affiliate link (Amazon Associates banners work here too).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Easy placement\u003C\u002Fh4>\n\u003Cp>Show each ad exactly where you want it:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Before, after, or both around your post content\u003C\u002Fli>\n\u003Cli>After a specific paragraph\u003C\u002Fli>\n\u003Cli>Site-wide in the header (ideal for Auto Ads) or footer\u003C\u002Fli>\n\u003Cli>Anywhere manually with the shortcode \u003Ccode>[tlads_ad id=\"1\"]\u003C\u002Fcode> or the included widget\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Device targeting, the cache-safe way\u003C\u002Fh4>\n\u003Cp>Hide any ad on desktop, tablet, or mobile using pure CSS visibility. Because it does not branch server-side, it works correctly even behind full-page caching and CDNs.\u003C\u002Fp>\n\u003Ch4>Lightweight by design\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Loads a tiny stylesheet on the front end, and only when an ad is actually present.\u003C\u002Fli>\n\u003Cli>No front-end JavaScript of its own — each network loads its own official script.\u003C\u002Fli>\n\u003Cli>No extra database tables and no external calls back to us.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Go further with video: Truce Label Video Player (premium)\u003C\u002Fh4>\n\u003Cp>Want to monetize video, not just display ads? \u003Cstrong>Truce Label Video Player\u003C\u002Fstrong> is our premium plugin that plays your videos with \u003Cstrong>VAST\u003C\u002Fstrong> ad support — \u003Cstrong>pre-roll, mid-roll, and post-roll\u003C\u002Fstrong> ads — and lets you \u003Cstrong>control the mid-roll intervals\u003C\u002Fstrong> so ads appear exactly when you want during playback. It is the serious way to earn from video content on WordPress.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Start your trial:\u003C\u002Fstrong> https:\u002F\u002Fcheckout.freemius.com\u002Fplugin\u002F31537\u002Fplan\u002F51775\u002F?trial=paid\u003C\u002Fp>\n\u003Ch3>Privacy\u003C\u002Fh3>\n\u003Cp>Truce Label Ads does not collect, store, or transmit any personal data to the plugin author. It saves only the ad settings you enter (network choice, your IDs, placement and display options) in your own WordPress database.\u003C\u002Fp>\n\u003Cp>The plugin generates ad markup for third-party ad networks that you choose to use (such as Google AdSense, Google Ad Manager, Media.net, or Ezoic). When an ad from one of those networks is displayed, the network’s own code runs in the visitor’s browser and is subject to that network’s privacy policy and terms. Please review the privacy policy of any ad network you enable, and disclose ad usage to your visitors as required by the laws that apply to you. Direct and affiliate banners load only the image and link you provide and run no third-party scripts.\u003C\u002Fp>\n","Lightweight, safe ad manager. Pick a vetted network, enter only your IDs, and the plugin builds the correct ad code for you. No pasting scripts.",106,"2026-06-28T19:56:00.000Z","7.0.2","5.8","7.4",[25,26,27,28,29],"ad-manager","ads","adsense","media-net","monetization","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftruce-label-ads.zip",null,"2026-07-22T17:31:50.256Z",{"slug":35,"name":36,"version":16,"author":4,"author_profile":5,"description":37,"short_description":38,"active_installs":7,"downloaded":39,"rating":7,"num_ratings":7,"last_updated":40,"tested_up_to":21,"requires_at_least":41,"requires_php":23,"tags":42,"homepage":30,"download_link":48,"security_score":8,"vuln_count":7,"unpatched_count":7,"last_vuln_date":32,"fetched_at":33},"truce-label-video-player-with-vast-ads","Truce Label Video Player with VAST Ads","\u003Cp>\u003Cstrong>Truce Label Video Player with VAST Ads\u003C\u002Fstrong> is a lightweight WordPress video player that plays your own video and shows a single \u003Cstrong>post-roll\u003C\u002Fstrong> video ad — a VAST ad that runs when the video finishes. Add it to any post or page with a Gutenberg block or a shortcode.\u003C\u002Fp>\n\u003Cp>It is built to stay out of your server’s way: there is \u003Cstrong>no server-side fetching, no custom database tables, and no cron jobs\u003C\u002Fstrong>. Your ad tag and settings live in a single WordPress option, the player uses the browser’s native \u003Ccode>\u003Cvideo>\u003C\u002Fcode> element (no heavy third-party libraries are loaded), and the ad is rendered entirely in the visitor’s browser by Google’s IMA SDK. The player script and the ad code load \u003Cstrong>only on pages that actually contain a player\u003C\u002Fstrong>, so the rest of your site is untouched.\u003C\u002Fp>\n\u003Ch4>What the free version does\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Native MP4 playback\u003C\u002Fstrong> in every modern browser, plus \u003Cstrong>HLS\u003C\u002Fstrong> (\u003Ccode>.m3u8\u003C\u002Fcode>) in browsers that support it natively (Safari and iOS).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>One post-roll video ad\u003C\u002Fstrong> when the video ends, using a single VAST tag URL from your own ad network.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Native skip handling\u003C\u002Fstrong> — the ad’s own \u003Ccode>skipoffset\u003C\u002Fcode> controls whether it can be skipped; the IMA SDK draws the skip button automatically.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Graceful ad failure\u003C\u002Fstrong> — if the ad errors or does not load within 8 seconds, playback ends cleanly with no black screen.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Gutenberg block + shortcode\u003C\u002Fstrong> — add the \u003Cstrong>VAST Video Player\u003C\u002Fstrong> block, or use \u003Ccode>[vastvp_player]\u003C\u002Fcode> in classic content.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Optional poster image\u003C\u002Fstrong> for the pre-play thumbnail (no scraping, no network calls).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Responsive\u003C\u002Fstrong> and touch-friendly.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Shortcode example\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[vastvp_player video=\"https:\u002F\u002Fexample.com\u002Fvideo.mp4\" poster=\"https:\u002F\u002Fexample.com\u002Fthumb.jpg\" postroll=\"https:\u002F\u002Fyour-ad-network.example\u002Fvast.xml\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>If you set a global post-roll tag under Settings, you can omit the \u003Ccode>postroll\u003C\u002Fcode> attribute and it will be used automatically.\u003C\u002Fp>\n\u003Ch4>Upgrade to Pro\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>VAST Pro Player Ultimate\u003C\u002Fstrong> (a separate add-on from \u003Ca href=\"https:\u002F\u002Ftrucelabel.com\" rel=\"nofollow ugc\">Truce Label\u003C\u002Fa>) builds on this free player and adds:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Pre-roll\u003C\u002Fstrong> ads (before the video starts) and \u003Cstrong>mid-roll\u003C\u002Fstrong> ads (at timed intervals during playback), with a configurable interval.\u003C\u002Fli>\n\u003Cli>A \u003Cstrong>four-slot VAST rotation\u003C\u002Fstrong> with automatic fallback between tags.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Iframe-embed support\u003C\u002Fstrong> — wrap a video embedded from another host in the player.\u003C\u002Fli>\n\u003Cli>A second, \u003Cstrong>banner \u002F social-bar ad engine\u003C\u002Fstrong> — closeable, non-blocking overlays that don’t pause the video, as an A\u002FB alternative to VAST.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Get Pro for $5\u002Fmonth:\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fcheckout.freemius.com\u002Fplugin\u002F31537\u002Fplan\u002F51775\u002F\" rel=\"nofollow ugc\">Upgrade now\u003C\u002Fa> — or \u003Ca href=\"https:\u002F\u002Fcheckout.freemius.com\u002Fplugin\u002F31537\u002Fplan\u002F51775\u002F?trial=paid\" rel=\"nofollow ugc\">start a 3-day trial\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>The free version is fully functional on its own; Pro is optional. Learn more at \u003Ca href=\"https:\u002F\u002Ftrucelabel.com\" rel=\"nofollow ugc\">trucelabel.com\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>External services\u003C\u002Fh3>\n\u003Cp>This plugin relies on the following third-party services, which run only on pages where the player is present:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Google IMA SDK\u003C\u002Fstrong> — loaded from Google to render your VAST video ad in the visitor’s browser. See Google’s \u003Ca href=\"https:\u002F\u002Fdevelopers.google.com\u002Finteractive-media-ads\u002Fdocs\u002Fsdks\u002Fhtml5\u002Fclient-side\u002Fterms\" rel=\"nofollow ugc\">Terms of Service\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fpolicies.google.com\u002Fprivacy\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Your configured VAST ad endpoint\u003C\u002Fstrong> — the VAST tag URL you paste in the settings is requested by the visitor’s browser when the video ends, to fetch the ad. This is the ad network \u003Cem>you\u003C\u002Fem> choose; please review that network’s terms and privacy policy.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The plugin sends no data to Truce Label and contacts no other services.\u003C\u002Fp>\n","Lightweight MP4\u002FHLS video player with a built-in post-roll video ad (VAST). Gutenberg block and shortcode included.",160,"2026-06-17T08:08:00.000Z","6.0",[43,44,45,46,47],"hls","postroll","vast","video-player","video-ads","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftruce-label-video-player-with-vast-ads.1.0.0.zip",{"slug":50,"name":51,"version":52,"author":4,"author_profile":5,"description":53,"short_description":54,"active_installs":7,"downloaded":55,"rating":7,"num_ratings":7,"last_updated":56,"tested_up_to":21,"requires_at_least":57,"requires_php":58,"tags":59,"homepage":65,"download_link":66,"security_score":8,"vuln_count":7,"unpatched_count":7,"last_vuln_date":32,"fetched_at":33},"trucepurge","TrucePurge","1.2.0","\u003Cp>TrucePurge adds one screen under \u003Cstrong>Tools \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> TrucePurge\u003C\u002Fstrong> that turns a slow, click-by-click cleanup into a few seconds of work. It lays your content out as a Year \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Month \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Day \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Item tree with live counts, so you can see exactly what you have and remove exactly what you want.\u003C\u002Fp>\n\u003Cp>It is built to be lightweight and to stay out of the way of your other plugins.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>What you can do\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Browse Posts, Pages, Images and Videos grouped by year and month, each level showing a live count.\u003C\u002Fli>\n\u003Cli>Tick an entire \u003Cstrong>year\u003C\u002Fstrong>, an entire \u003Cstrong>month\u003C\u002Fstrong>, individual \u003Cstrong>days\u003C\u002Fstrong>, or single \u003Cstrong>items\u003C\u002Fstrong> — selections cascade and stay in sync with tidy tri-state checkboxes.\u003C\u002Fli>\n\u003Cli>Use one-click \u003Cstrong>quick selects\u003C\u002Fstrong>: everything older than 30 days, 6 months, or 1 year (precise to the day), or select everything at once.\u003C\u002Fli>\n\u003Cli>Filter by content type, by post status (Published, Draft, Pending, Private, Scheduled, Trash), or by a title keyword.\u003C\u002Fli>\n\u003Cli>Choose how to remove: \u003Cstrong>delete permanently\u003C\u002Fstrong> (bypasses the Trash) or the safer \u003Cstrong>move to Trash\u003C\u002Fstrong> (recoverable).\u003C\u002Fli>\n\u003Cli>Optionally also remove the media attached to the posts you are deleting.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Export a CSV\u003C\u002Fstrong> of your selection first, so you always have a record of what was removed.\u003C\u002Fli>\n\u003Cli>Watch progress on a bar as items are removed — the whole selection goes at once, with no artificial cap.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Built to be safe\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Permanent deletion asks you to type the word \u003Cstrong>DELETE\u003C\u002Fstrong>, enforced on the server too, not just in the browser.\u003C\u002Fli>\n\u003Cli>Every action checks a nonce and a capability, and each item is re-checked against your own delete permissions before it is touched.\u003C\u002Fli>\n\u003Cli>All database reads use prepared statements.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Built to be conflict-free\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Zero front-end footprint: all code runs in the admin only, and CSS\u002FJS load on its own screen only.\u003C\u002Fli>\n\u003Cli>No jQuery dependency (vanilla JS), so it cannot clash with another plugin’s jQuery version.\u003C\u002Fli>\n\u003Cli>Everything is namespaced with a \u003Ccode>TRUCEPURGE_\u003C\u002Fcode> \u002F \u003Ccode>trucepurge_\u003C\u002Fcode> prefix — no global functions, no shared option keys, no \u003Ccode>wp_ajax_nopriv\u003C\u002Fcode> hooks.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>For developers\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>trucepurge_content_types\u003C\u002Fcode> — add or change the content types shown.\u003C\u002Fli>\n\u003Cli>\u003Ccode>trucepurge_capability\u003C\u002Fcode> — change which capability may use the tool (default \u003Ccode>delete_posts\u003C\u002Fcode>).\u003C\u002Fli>\n\u003Cli>\u003Ccode>trucepurge_after_delete\u003C\u002Fcode> — fires after each batch: \u003Ccode>do_action( 'trucepurge_after_delete', $ids, $user_id, $deleted, $mode )\u003C\u002Fcode>.\u003C\u002Fli>\n\u003C\u002Ful>\n","Group posts, pages and media by date, then bulk-delete a whole year, month, day, or single items — safely, with a typed DELETE step.",98,"2026-07-02T19:46:00.000Z","5.6","7.2",[60,61,62,63,64],"bulk-delete","cleanup","delete-by-date","delete-media","delete-posts","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftrucepurge\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftrucepurge.1.2.0.zip"]