// 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 } DEVELOPING: City of Chicago Sues Jussie Smollett for $390K+ for Alleged Hate Crime Hoax | Sean Hannity
Media

DEVELOPING: City of Chicago Sues Jussie Smollett for $390K+ for Alleged Hate Crime Hoax

posted by Hannity Staff - 4.12.19

The City of Chicago officially filed a lawsuit against ‘Empire’ star Jussie Smollett this week; seeking to recoup the costs associated with his alleged hate crime hoax that occupied more than 24 police officers over a two-week period.

The 12-page civil lawsuit , filed in Cook County court, is the latest volley in a legal battle that shows no signs of abating since Smollett reported that masked men beat him up on Jan. 29 in Chicago, shouting slurs and wrapping a rope around his neck,” reports the Associated Press.

“The lawsuit doesn’t specify an amount of money the city is seeking but does indicate it wants over $390,000 plus ‘further relief as this Court deems just and equitable.’ It also asks that Smollett be ordered to foot any legal bills Chicago incurs in suing him,” adds the author.

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

Smollett was arrested months ago for allegedly paying two men to stage a hate crime and subsequently filing phony police reports.

This is a developing story. Check back for updates.

BREAKING: Prosecutors Drop ALL CHARGES Against ‘Empire’ Star Jussie Smollett

posted by Hannity Staff - 3.26.19

Prosecutors in Chicago dropped all charges against ‘Empire’ actor Jussie Smollett Tuesday morning; ending all proceedings over allegations he intentionally staged a “hate crime” just months ago.

“Calling himself a man of faith ‘Empire’ actor Jussie Smollett said Tuesday that he felt vindicated after the Cook County State’s Attorney’s office said it would drop all charges against him,” reports Fox News.

“Not for a moment was it in vain. I’ve been truthful and consistent on every level since day one,” he said.  “I would not be my mother’s son if I was capable of one drop of what I was accused of. “

“It’s unclear at this time why the court decided not to proceed with prosecution, but the former ‘Empire’ star is expected to give a statement after he leaves the courthouse later today,” adds Fox.

This is a developing story. Check back for updates.

CHICAGO MAYOR: Decision to Drop Jussie Smollett Charges a ‘Whitewash of Justice’

posted by Hannity Staff - 3.26.19

Outgoing Chicago Mayor Rahm Emanuel weighed-in Tuesday on his city’s decision to abandon 16 felony charges against ‘Empire’ star Jussie Smollett; calling the move an obvious “whitewash of justice.”

“This is a whitewash of justice. A grand jury could not have been clearer… Where is the accountability in the system? You can’t have -because of one person’s position- one set of rules apply to them and another set of rules apply to everybody else,” said the mayor.

City prosecutors abruptly dropped all charges against Smollett weeks after he was indicted for allegedly staging a “hate crime” and filing a false police report regarding the incident.

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); } });