
// ===== CW: Fix blog post title tags (remove trailing separator, add site name) =====
// Titles were "Post Title -" — separator showing without site name after it.
// Root cause: Yoast title template for posts has %%sep%% %%sitename%% but sitename
// in wpseo_titles was empty. Fix: set it + remove stray trailing separator via filter.
add_action( 'init', function () {
    if ( get_transient( 'cw_insights_title_fix_v1' ) ) return;
    $opt = get_option( 'wpseo_titles', array() );
    // Ensure site name is set
    if ( empty( $opt['website_name'] ) ) {
        $opt['website_name'] = 'Codewave';
    }
    // Ensure post title template includes site name
    if ( empty( $opt['title-post'] ) || strpos( $opt['title-post'], '%%sitename%%' ) === false ) {
        $opt['title-post'] = '%%title%% %%sep%% %%sitename%%';
    }
    update_option( 'wpseo_titles', $opt );
    set_transient( 'cw_insights_title_fix_v1', 1, 0 );
} );

// Belt-and-suspenders: strip any trailing " -" or " | " left by missing variable
add_filter( 'wpseo_title', function ( $title ) {
    return preg_replace( '/s*[-|]+s*$/', '', $title );
} );
// ===== END CW: Fix blog post title tags =====

// ===== CW: Temp - diagnose Yoast title settings =====
add_action( 'wp_ajax_cw_insights_title_diag', function () {
    $opt = get_option( 'wpseo_titles', array() );
    $blog_name = get_bloginfo( 'name' );
    $transient = get_transient( 'cw_insights_title_fix_v1' );
    wp_send_json_success( array(
        'website_name'    => $opt['website_name'] ?? '(not set)',
        'title-post'      => $opt['title-post'] ?? '(not set)',
        'blog_name'       => $blog_name,
        'transient_set'   => $transient ? true : false,
        'separator'       => $opt['separator'] ?? '(not set)',
    ) );
} );
// ===== END CW: Temp diag =====<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>Codewave</provider_name><provider_url>https://codewave.com/insights</provider_url><title>Everyday Applications and Examples of Artificial Intelligence in Business and Education - Codewave Everyday Applications and Examples of Artificial Intelligence in Business and Education</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content" data-secret="Mo2mR8vwmp"&gt;&lt;a href="https://codewave.com/insights/artificial-intelligence-applications-business-education/"&gt;Everyday Applications and Examples of Artificial Intelligence in Business and Education&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="https://codewave.com/insights/artificial-intelligence-applications-business-education/embed/#?secret=Mo2mR8vwmp" width="600" height="338" title="&#x201C;Everyday Applications and Examples of Artificial Intelligence in Business and Education&#x201D; &#x2014; Codewave" data-secret="Mo2mR8vwmp" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"&gt;&lt;/iframe&gt;&lt;script&gt;
/*! This file is auto-generated */
!function(d,l){"use strict";l.querySelector&amp;&amp;d.addEventListener&amp;&amp;"undefined"!=typeof URL&amp;&amp;(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&amp;&amp;!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),o=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),c=new RegExp("^https?:$","i"),i=0;i&lt;o.length;i++)o[i].style.display="none";for(i=0;i&lt;a.length;i++)s=a[i],e.source===s.contentWindow&amp;&amp;(s.removeAttribute("style"),"height"===t.message?(1e3&lt;(r=parseInt(t.value,10))?r=1e3:~~r&lt;200&amp;&amp;(r=200),s.height=r):"link"===t.message&amp;&amp;(r=new URL(s.getAttribute("src")),n=new URL(t.value),c.test(n.protocol))&amp;&amp;n.host===r.host&amp;&amp;l.activeElement===s&amp;&amp;(d.top.location.href=t.value))}},d.addEventListener("message",d.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",function(){for(var e,t,s=l.querySelectorAll("iframe.wp-embedded-content"),r=0;r&lt;s.length;r++)(t=(e=s[r]).getAttribute("data-secret"))||(t=Math.random().toString(36).substring(2,12),e.src+="#?secret="+t,e.setAttribute("data-secret",t)),e.contentWindow.postMessage({message:"ready",secret:t},"*")},!1)))}(window,document);
&lt;/script&gt;
</html><thumbnail_url>https://codewave.com/insights/wp-content/uploads/2025/07/Everyday-Applications-and-Examples-of-Artificial-Intelligence-in-Business-and-Education.png</thumbnail_url><thumbnail_width>1600</thumbnail_width><thumbnail_height>900</thumbnail_height><description>Explore key examples of artificial intelligence in business and education. Improve efficiency with AI tools, digital assistants, and adaptive learning.</description></oembed>
