// SEO: Disable user sitemap (exposes editor usernames to scrapers) add_filter('wp_sitemaps_add_provider', function($provider, $name) { if ($name === 'users') return false; return $provider; }, 10, 2); // SEO: Remove post_tag archives from XML sitemap (thin/low-value pages) add_filter('wp_sitemaps_taxonomies', function($taxonomies) { unset($taxonomies['post_tag']); return $taxonomies; }); // SEO: Auto-generate SEO title on publish via Gemini API (2026-03-25) add_action('transition_post_status', 'hannity_auto_seo_title', 10, 3); function hannity_auto_seo_title($new_status, $old_status, $post) { // Only fire when transitioning TO publish for the first time if ($new_status !== 'publish' || $post->post_type !== 'post') return; if ($old_status === 'publish') return; // skip re-saves of already-published posts // Skip if seo_title already set if (get_post_meta($post->ID, 'seo_title', true)) return; $title = $post->post_title; if (empty($title)) return; $prompt = 'Convert this news headline to a clean SEO title tag (50-65 chars max). ' . 'Remove ALL CAPS prefixes like BREAKING: BUSTED: WATCH: BOMBSHELL: etc. ' . 'Remove [WATCH] [VIDEO] suffixes. Factual, keyword-rich, no spin. ' . 'Return ONLY the SEO title as a plain string, no quotes, no explanation.' . "\n\nHeadline: " . $title; $api_key = 'AIzaSyB-D7nxEi4UzLdoKIZBAY_ydYS5JT8EBCU'; $url = 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=' . $api_key; $response = wp_remote_post($url, array( 'headers' => array('Content-Type' => 'application/json'), 'body' => json_encode(array( 'contents' => array(array('parts' => array(array('text' => $prompt)))), 'generationConfig' => array('temperature' => 0.2, 'maxOutputTokens' => 100), )), 'timeout' => 10, )); if (is_wp_error($response)) return; $data = json_decode(wp_remote_retrieve_body($response), true); $seo_title = trim($data['candidates'][0]['content']['parts'][0]['text'] ?? ''); if (empty($seo_title)) return; $seo_title = trim($seo_title, '"\''); // strip any surrounding quotes Gemini adds update_post_meta($post->ID, 'seo_title', $seo_title); update_post_meta($post->ID, '_seo_title', 'field_56425125fb2ed'); // ACF field key ref } OL' 17% CHUCK: Schumer Tries to Attack Trump's Poll Numbers, Reporter Reminds Him He's in the Toilet [WATCH]
On The Hill

OL' 17% CHUCK: Schumer Tries to Attack Trump's Poll Numbers, Reporter Reminds Him He's in the Toilet [WATCH]

posted by Hannity Staff - 5.01.25

Which one is it, Chuck? Polls matter? Or polls come and go?

Senate minority leader Chuck Schumer embarrassed himself on Capitol Hill this week after trying to attack President Trump based on recent polling.

“The polls this week show Trump has the lowest 100-day approval rating since they started polling 80 years ago — the lowest,” Schumer said.

Breaking Alerts
Don't miss the stories that matter.
Get Sean's breaking news alerts — free, direct to your inbox.

A reporter quickly followed up with a question.

“There was a poll out today that had your approval rating lower than any other congressional leader — 17%. Are you concerned that you’re becoming a liability?” the reporter asked Chuck, who quickly changed his tune.

“Polls come and go. Our party is united. We’re on our front foot and we’re stepping forward and going after Trump and having real success,” Schumer said, immediately contradicting his previous attack on Trump.

Okay, Schumer.

Watch the moment below:

Thank you for visiting Hannity.com. You are about to leave
Hannity.com and proceed to a site owned and operated by a third party.
Hannity.com has no control over the content of this third-party site.
Click OK to proceed.
OK
X
You may if you would no longer like to receive a newsletter.
You have been successfully unsubscribed!
Please see our Terms of Use and Privacy Notice .
If you have any questions or concerns please contact us.
$( document ).ready(function() { show_tout_banner=0; function bannerswap(){ //console.log('checkbanners'); show_tout_banner++; if($('.mobile-tout >div ').length >1){ $('.mobile-tout').addClass('t-hide'); } if(show_tout_banner > $('.mobile-tout >div').length -1){ $('.mobile-tout:eq(0)').removeClass('t-hide'); show_tout_banner=0; } else{ $('.mobile-tout:eq('+show_tout_banner+')').removeClass('t-hide'); } //console.log('show banner '+show_tout_banner); } if($('.mobile-tout >div ').length){ bannerswap(); show_tout_banner_rotator = setInterval(bannerswap, 5000); //console.log($('.mobile-tout').length); } });