最新版にテーマを変更したらフィルター処理で置き換え削除していたものがきかなくなってしまいました
いつもお世話になっております。 ワードプレスは最新でサーバーはmixhostでPHP7.4です。 テーマの更新を暫くしておらず SANGOバージョン: 2.10.5( Gutenbergプラグインなし)から SANGO 2.0の最新版にアップデートして SANGO 3.0の最新版にアップデートしました。
①②でカスタマイズをしており、フィルター処理で置き換え削除して、 ブログ内のリンクを通常下線あり→マウスホバーで下線なしで統一させておりました。
最新版にテーマを変更したら フィルター処理で置き換え削除していたものがきかなくなってしまいました。
フィルター処理の内容①②
①ワードプレスから行った処理(記述は消えていませんでした) 「ダッシュボード」>「外観」>「カスタマイズ」の「追加CSS」の1行目~6行目に以下を記述しました。
a{ text-decoration:underline; } a:hover,.header-info a,.header--center .desktop-nav li a,.fixed-menu ul li a,.mobile-nav li a,.cat-name,#toc_container a,#entry-footer-wrapper a,.cat_list a{ text-decoration:none; }
②子テーマのfunctions.php(記述は消えていませんでした) /sango-theme-child/functions.php の142行目~149行目に以下を記述しました。
//aタグの下線修正 $content = preg_replace('{<span style="text-decoration: underline;">(<a [^>]?>.?)</span>}ism','$1', $content ); $content = preg_replace('{(<a [^>]?>)<span style="text-decoration: underline;">(.?)</span>(</a>)}ism','$1$2$3', $content ); $content = preg_replace('{(<a [^>]?><img[^>]?>)<span style="text-decoration: underline;">(.?)</span>(</a>)}ism','$1$2$3', $content ); $content = preg_replace('{(<a [^>]?><noscript>.?</noscript><img[^>]?>)<span style="text-decoration: underline;">(.?)</span>(</a>)}ism','$1$2$3', $content ); $content = preg_replace('{(<a [^>]?><noscript>.?</noscript><img[^>]?>)<span class="small" style="text-decoration: underline;">(.?)</span>(</a>)}ism','$1$2$3', $content ); $content = str_replace('<span class="small" style="text-decoration: underline;">','<span class="small">', $content ); $content = preg_replace('{(<span class="big") style="text-decoration: underline;"(><a [^>]?>.*?</span>)}ism','$1$2', $content );
子テーマのfunctionsの内容が以下が増えていたのと add_action( 'after_setup_theme', 'enqueue_my_child_gutenberg_styles' ); function enqueue_my_child_gutenberg_styles() { add_theme_support( 'editor-styles' ); add_editor_style( 'my-gutenberg.css' ); }
最後のこの部分がなくなっていたので(もしかしたら、わたし側のカスタマイズかもしれません) add_action('template_redirect', function(){ ob_start('yws_replace_html_custom');},20);
/************************ *function.phpへの追記はこの上に *************************/ ?>
追加と削除をしてみても変わらず、どうしたら良いか分からず、フィルター処理をきかせるのにはどうしたら良いでしょうか?

以下、わたし側のカスタマイズだと思います。すみません。 >最後のこの部分がなくなっていたので(もしかしたら、わたし側のカスタマイズかもしれません) add_action('template_redirect', function(){ ob_start('yws_replace_html_custom');},20);
>以下の部分の「?>」だけ消して、上記同様にfunctionに上部の内容を追記しましたがダメでした。 /************************ *function.phpへの追記はこの上に *************************/ ?>
フィルターをかけている理由が、SANGOフォーラムの以下の方と同じで 恐らくワードプレスの更新が原因だと思うのですが 下線が黒くなってしまう現象が急に起こったからです。 下線のタグを直すのには量が多いため、フィルター処理していました。 https://sangoland.app/issues/d8c82114-60fc-4427-a5ca-63fcb56fa5f2

ユーザー登録が必要です