Internal Link Buildingをインストールして使用していたら、記事ページが何も表示されない状態になりました。このページでは、そのときの対処法を紹介します。
Internal Link Buildingのバグ
エラー表示をしてみると、次のように表示されていました。
Fatal error: Uncaught Error: [] operator not supported for strings in /home/users/2/main.jp-iphonexcase/web/name/wp-content/plugins/internal-link-building-plugin/internal_link_building.php:704 Stack trace: #0 [internal function]: internal_link_building_blocks::returnblocks(Array) #1 /home/users/2/main.jp-iphonexcase/web/name/wp-content/plugins/internal-link-building-plugin/internal_link_building.php(674): preg_replace_callback('!(\\<a[^>]*\\>([^...', Array, ' <p>\xE5\xB0\x8E\xE5\x85\xA5</p>\n...') #2 /home/users/2/main.jp-iphonexcase/web/name/wp-content/plugins/internal-link-building-plugin/internal_link_building.php(118): internal_link_building_blocks::findtags(' <p>\xE5\xB0\x8E\xE5\x85\xA5</p>\n...') #3 /home/users/2/main.jp-iphonexcase/web/name/wp-includes/class-wp-hook.php(286): internal_link_building::filter(' <p>\xE5\xB0\x8E\xE5\x85\xA5</p>\n...') #4 /home/users/2/main.jp-iphonexcase/web/name/wp-includes/plugin.php(203): WP_Hook->apply_filters('<p>\xE5\xB0\x8E\xE5\x85\xA5</p>\n<...', Array) in /home/users/2/main.jp-iphonexcase/web/name/wp-content/plugins/internal-link-building-plugin/internal_link_building.php on line 704
704行目の「$protectblocks[] = $blocks[1];」がおかしいと。
バグの対処法
そもそも「$protectblocks」は配列なのに、値「$blocks[1];」を代入しているところがおかしいと気づき、下記のように修正したら、しっかり動作するように。
static function returnblocks($blocks){ global $protectblocks; $protectblocks = $blocks[1]; return '[block]'.(count($protectblocks)-1).'[/block]'; }
static function returnblocks($blocks){ global $protectblocks; $protectblocks[] = $blocks[1]; return '[block]'.(count($protectblocks)-1).'[/block]'; }
[su_note note_color="#00BFFF" text_color="#ffffff"]
人気の記事
Google検索の変遷から見えてくる「Googleがキュレーション化する日」
[/su_note]
Google検索の変遷から見えてくる「Googleがキュレーション化する日」
[/su_note]