実に1年5か月ぶりの投稿になります。
今回は以前投稿したこちらの記事↓についてのお知らせです。

上記の記事内で掲載していたコードに、現在のCF7では非推奨とされている関数を使用していた事がわかりましたので、急ぎ修正を行いました。
以下は修正を行った箇所の具体的な説明になります。
修正前・修正後の該当コード
↓修正前↓
add_shortcode('cf7_views','get_cf7_views');
wpcf7_add_shortcode('cf7_views','get_cf7_views');
function get_cf7_views(){
$value = get_post_meta( get_the_ID(), 'sent_count', true );
// カスタムフィールドの値がある場合
if( $value ){
return ($value);
}
return (0);
}↓修正後↓
add_shortcode('post_fav_count','get_cf7_views');
add_action('wpcf7_init', 'register_cf7_views_tag');
function register_cf7_views_tag() {
wpcf7_add_form_tag('cf7_views', 'get_cf7_views');
}
function get_cf7_views($tag) {
$post_id = get_queried_object_id();
if (!$post_id) {
return '0';
}
$value = get_post_meta($post_id, 'sent_count', true);
if ($value === '' || $value === false || $value === null) {
return '0';
}
return (string) $value;
}- “wpcf7_add_shortcode()” を削除し、”wpcf7_add_form_tag()” で代用。
- ついでに数値の取得対象を
"get_the_ID()"から"get_queried_object_id()"に変更。 - また、名前の重複を避ける為、専用ショートコードを “cf7_views” から “post_fav_count” に変更。
修正した関数 “wpcf7_add_shortcode()” について
今回の修正によって削除された関数 “wpcf7_add_shortcode()” は、ContactForm7 から非推奨とされている関数でした。
しかしながら、これまでは使用しても特に問題なく動作していた為その危険性に気付くことができなかったのですが、いつ頃からかわかりませんがCF7或いはPHP本体のアップデートにより、当該関数がfunction.php内で使用されていた場合、サイトが正常に表示されなくなり場合によってはWordPressの管理画面にもログインできなくなってしまうという致命的なエラーが発生することがわかりました。
私自身、昨日のPHP脆弱性騒動をきっかけにサイトのメンテナンスを行ったところこの問題が発覚し、一時的に管理画面が表示されずログインできない状態となりました。(めちゃくちゃ焦りました)
が、幸いなことに原因がすぐ特定できたので、落ち着いてfunction.phpから該当箇所を修正した結果、以前のように正常に動作するようになりました。
有難いことに上記の記事は今でも沢山の方に参照していただいているものでしたので、今回の件でもしかしたら同じようにサイトが表示されなくなったり管理画面に入れなくなって困っている方がけっこういるのでは…… と思い、急ぎ訂正とお知らせを行った次第です。
折角ウチの記事を頼ってくださったのにご不便・ご迷惑をおかけしてしまった皆さま、大変申し訳ありませんでした。
もしも現在も同じようなエラーによってお困りの方がいた場合、この記事が少しでも解決のお役に立てば幸いです。


コメント