// 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 }
Hannity

FETTERMAN ON HANNITY: Keystone Senator on Party Friction — 'I'm Not Afraid to Tell the Truth' [WATCH]

posted by Hannity Staff - 10.23.25

Fetterman stops by for a chat with Hannity.

Sen. John Fetterman (D-PA) drew a sharp line with his own party Wednesday night, telling Hannity he’s willing to “pay a price” to help reopen the government — even if it means breaking ranks with Democrats.

“I am always going to vote country over my party and if I pay a price within my base, that’s something I am willing to do,” Fetterman said.

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

“I’m not afraid to tell my truth and if I’m going to pay a penalty, I’m not afraid of that,” Fetterman told Hannity. “It’s wrong to shut our government down.”

Now in the fourth week of the shutdown, Fetterman has slammed his colleagues for letting politics stall funding for key priorities — the military and Capitol Police among them. He noted he’s one of only two Democrats voting to keep the government open.

In a post to X earlier Wednesday, he called the 22-day-long shutdown a “failure.”

The looming threat of cuts to critical programs, especially the Supplemental Nutrition Assistance Program (SNAP), has become personal for the Pennsylvania senator.

“I refuse to vote to suspend SNAP for millions of Pennsylvanians in my state and across the entire nation,” he said. “That’s going to be suspended because our government is shut down. I can’t ever vote for that kind of mass food insecurity.”

Fetterman also took aim at his party’s rhetoric, rebuking Democrats who’ve smeared President Donald Trump and his supporters.

“Extreme kinds of rhetoric make it easier for those extreme kinds of actions,” he said. “I refuse to be a part of it and comparing people to Hitler and those things. If that’s what’s required to win, then I refuse to.”

He warned that inflammatory language is dividing the nation.

“We’ve lost the plot,” Fetterman said. “I refuse to call my fellow citizens fascists or Nazis or those things. If somebody wants to primary me or the party wants to vote me out, I’m going to go down being honest and telling you that this is wrong.”

Fetterman closed with a call for basic decency — a rare note of candor in Washington’s echo chamber.

“It’s just basic humanity and we’re forgetting that we all need each other,” he said.

Watch the clip above.