
// ===== 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 ====={"version":"1.0","provider_name":"Codewave","provider_url":"https:\/\/codewave.com\/insights","title":"Understanding Artificial Neural Networks and Their Applications - Codewave Neural Networks Explained: Types, Use Cases & SME Impact","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"MCwMHtuMtG\"><a href=\"https:\/\/codewave.com\/insights\/understanding-neural-network-applications\/\">Understanding Artificial Neural Networks and Their Applications<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/codewave.com\/insights\/understanding-neural-network-applications\/embed\/#?secret=MCwMHtuMtG\" width=\"600\" height=\"338\" title=\"&#8220;Understanding Artificial Neural Networks and Their Applications&#8221; &#8212; Codewave\" data-secret=\"MCwMHtuMtG\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script>\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^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<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(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<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);\n<\/script>\n","thumbnail_url":"https:\/\/codewave.com\/insights\/wp-content\/uploads\/2025\/08\/Understanding-Artificial-Neural-Networks-and-Their-Applications.jpg","thumbnail_width":1600,"thumbnail_height":900,"description":"Discover what neural networks are, how they work, and their applications in AI. Learn how SMEs use them for fraud detection, forecasting, automation, and more."}