って、ことで毎度知らべるのも忘却が著しい還暦のおじさんなので、ここに記すとしよう。
参考記事を探して、辿りつくと
SWELLの…
get_ogp_inwp.php
もうちょっと親切な記事では…
/plugins/get_ogp_inwp.php
そもそも初心者はそれがどこかも分からんw
adono-xxx:レンタルサーバーで名前を付けた自分のWordpress置場な!
\wp-content
\themes
\swell
\classesの下の
\plugins
\get_ogp_inwp.php
と書けカスめ!(有料やて…wウケる。直せテーマ!治せ頭!)
adono-xxx\wp-content\themes\swell\classes\plugins\get_ogp_inwp.php
これを編集する。
ちなみに私は、
大手レンタルサーバーでは最安のロリポップさんなので、ロリポップだけ詳しく書かせて頂きます。
「ログイン」して
左メニューから
「サーバーの管理・設定」
「ロリポップ!FTP」
自分で名前を付けた修正したいファイル名をクリック
※複数ある場合は、上から順番に修正しよう〜
\wp-content
\themes
\swell
\classes
\plugins
\get_ogp_inwp.php
ここまで潜ると
中味が見れるはず。。。
※実際直接PHP触るので、書き換えに失敗するとエラー表示やHPが最悪立ち上がらなくなるので、修正前に修正ファイルをコピーしておくことが望ましい。
くれぐれも自己責任でね
<?php・・・
*あとなんだかんだ中味は書いてありますが
一応全部コピペして
1.メモ帳に貼り付ける
2.Ctrl +f
3.public static function parse で検索し
*---
// 非推奨な mb_convert_encoding の代わりに mb_encode_numericentity を使ってhtmlエンコード
から
// reset libxml_error
の間を
*---
// 非推奨な mb_convert_encoding の代わりに mb_encode_numericentity を使ってhtmlエンコード
//2024.8.1-update
$response_body = mb_convert_encoding($response_body, 'UTF-8', 'ASCII, JIS, UTF-8, EUC-JP, SJIS');
$response_body = mb_encode_numericentity( $response_body, [0x80, 0x10FFFF, 0, 0x1FFFFF ], 'UTF-8' );
// Avoid getting a loadHTML () parsing error
$old_libxml_error = libxml_use_internal_errors( true );
// Load HTML
$doc = new DOMDocument();
$doc->loadHTML( mb_convert_encoding($response_body, 'HTML-ENTITIES', 'UTF-8') );
//2024.8.1-update ここまで
// reset libxml_error
こう書き換える。
と、今編集中のWordpressのブログカードも上手く表示するようになる。
一応Wordpressのキャッシュもクリアーしてから表示するように。
例1:一発目はこう修正したが上手く表示せず
// Load HTML
//$doc = new DOMDocument();
//$doc->loadHTML( $response_body );
$doc = new DOMDocument();
$doc->loadHTML( mb_convert_encoding($response_body, 'HTML-ENTITIES', 'UTF-8') );
例2:二発目はこう修正したが上手く表示せず
$response_body = mb_encode_numericentity( $response_body, [0x80, 0x10FFFF, 0, 0x1FFFFF ], 'UTF-8' );
// Avoid getting a loadHTML () parsing error
$old_libxml_error = libxml_use_internal_errors( true );
// Load HTML
//$doc = new DOMDocument();
//$doc->loadHTML( $response_body );
$doc = new DOMDocument();
$doc->loadHTML( mb_convert_encoding($response_body, 'HTML-ENTITIES', 'UTF-8') );
例3:三発目に成功!〇
//2024.8.1-update
$response_body = mb_convert_encoding($response_body, 'UTF-8', 'ASCII, JIS, UTF-8, EUC-JP, SJIS');
$response_body = mb_encode_numericentity( $response_body, [0x80, 0x10FFFF, 0, 0x1FFFFF ], 'UTF-8' );
// Avoid getting a loadHTML () parsing error
$old_libxml_error = libxml_use_internal_errors( true );
// Load HTML
//$doc = new DOMDocument();
//$doc->loadHTML( $response_body );
$doc = new DOMDocument();
$doc->loadHTML( mb_convert_encoding($response_body, 'HTML-ENTITIES', 'UTF-8') );
//2024.8.1-update ここまで
今回はちゃんとrenameしてから作業しましたよぉw
あまり深く理解はしていないものの、既に修正していた先人がいたので順番に試していった結果でございます。昔から適当にやって。。。「だから貴方はダメなのよぉ」〜と女上司に言われたプログラマー?SE?時代を思いだした次第でございます。
< 参考にさせて頂いた記事 >
・ SWELL不具合:関連記事ブロック(ブログカード)文字化け対策カスタマイズ
・ ブログカード文字化け対策
・ [解決済] ブログカードのキャッシュをクリアするとページが表示されなくなってしまう
それでは、またね〜