// 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 } BIG APPLE BLOWOUT! Jordan, Judiciary Search for Answers Amid Skyrocketing Crime in NYC [WATCH]
Politics

BIG APPLE BLOWOUT! Jordan, Judiciary Search for Answers Amid Skyrocketing Crime in NYC [WATCH]

posted by Hannity Staff - 4.17.23

Chair Rep. Jim Jordan (R-OH) and his House Judiciary Committee are in New York City today for a field hearing on violent crime. Jordan has been critical of soft-on-crime DA Alvin Bragg who is focusing city resources on prosecuting former President and 2024 candidate Donald Trump on hush money charges from 2016 instead of going after violent criminals.

Listen to some of the testimonies below and see how badly Bragg is blowing it.

Watch some of the highlights from today’s hearing below:

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

Not everyone welcomed the House Judiciary Committee —protesters were on the scene, outside the Javits Federal Building as well.

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