スポンサーリンク

AFFINGER4でのDeprecated:Non-static method WPblogAdProp::setAd1()

投稿日:

本日の人気記事BEST10

所要時間目安: 約 4

AFFINGER4

AFFINGER4Pro WordPress 不具合 伝えたいこと 備忘録

Deprecated: Non-static method WPblogAdProp::setAd1() should not be called statically in /home/izu/izu.wpblog.jp/public_html/wp-content/mu-plugins/wp-wpblog-ads.php on line 16

というエラーメッセージ?についてです。



スポンサーリンク

AFFINGER4ver20170410が公開されて即座に適用させてみたところ上記メッセージが管理画面においてもサイトにおいても上部に表示されるようになりました。

一時的なものなのかもしれないと一旦は考えてみたりもしたのですが、

もしくは、
私のカスタマイズ内容に問題がある可能性が高いので後日phpテンプレート内のコードを詳細に確認し直してみようと思っていました。

あとは何かしらのプラグインとの干渉など確認してみましたが解明できずじまいでしたし、プラグインをすべて無効にしても変わりませんでした。

 

しかし、

一時的なものではなくそのような状態が通常のようでした。

公式ブログにも記載されていました。

WordPressが無料で使用できる「wpblog」では通常は存在しないwpblogサービス側で使用されているプログラム(恐らく広告表示用プラグイン)の為、AFFINGER4がエラーとなる症状を確認しております。

 

一応、これまで(それまで)のAFFINGER4ver20170328との違う部分を探してみました。

全部ではないかもしれませんが、とりあえず確認できた違いは以下の5点になります。

正直、
これで何がどうなっているのか明確にはわかりませんが(;´д`)トホホ…。

5箇所違うだけなのに…。

 

function.phpでは以下の部分、

 

(1)

function st_cardsc_func( $arg, $content = '' ) {
global $wp_query, $post, $pages, $page, $numpages, $multipage, $more;

$previous_query = $wp_query;
$previous_post = $post;
$previous_pages = $pages;
$previous_page = $page;
$previous_numpages = $numpages;
$previous_multipage = $multipage;
$previous_more = $more;

$atts = shortcode_atts(
array(
'id' => '0',
),
$arg
);

 

(2)

if ( ! $post_query->have_posts() ) {
$post = $previous_post;
$wp_query = $previous_query;
$pages = $previous_pages;
$page = $previous_page;
$numpages = $previous_numpages;
$multipage = $previous_multipage;
$more = $previous_more;

return '';
}

$html = '';

while ( $post_query->have_posts() ) {
$post_query->the_post();

ob_start();

?>

 

(3)

$html = ob_get_clean();
}

$post = $previous_post;
$wp_query = $previous_query;
$page = $previous_page;
$pages = $previous_pages;
$numpages = $previous_numpages;
$multipage = $previous_multipage;
$more = $previous_more;

return $html;
}

 

(4)

register_sidebar( array(
'id' => 'sidebar-24',
'name' => '404ページ',
'description' => '記事が見つからない時に表示される404ページに挿入するウィジェットです',
'before_widget' => '<div class="st-w-404">',
'after_widget' => '</div>',
'before_title' => '<h5">',
'after_title' => '</h5>',
) );

 

(5)

add_image_size( 'st_thumb300', 300, 300, true );
add_image_size( 'st_thumb400', 400, 400, true );

 

 

あとは、

(6)

header.phpの最下部のsidebar20が記述方法が違うのと、

 

テンプレートで、

(7)

st-ad-smart-head.php

 

が追加されているだけのはずなのに、

なぜにエラー表示がでるのかわからない・・・・。

 

※すみません。7箇所でしたm(._.*)mペコッ。

 

push7をバージョンアップしたのが影響しているのか?
(これは関係なかったです。)

 

Deprecated: Non-static method WPblogAdProp::setAd1() should not be called statically in /home/izu/izu.wpblog.jp/public_html/wp-content/mu-plugins/wp-wpblog-ads.php on line 16

このエラーメッセージはなんなんでしょう?

 

日本語訳すると、

非推奨:非静的メソッドWPblogAdProp :: setAd1()は、/home/izu/izu.wpblog.jp/public_html/wp-content/mu-plugins/wp-wpblog-ads.php 16行目で静的に呼び出されるべきではありません。

 

とのことらしいですが、
さっぱりわからない。

しかも、FTPソフトにて該当フォルダ内を見ても何も入っていないのでどうしようもできない状態でした。

 

どうやら、PHP7が関与しているのかと思いきや…。

やはり、ネットオウルのWpblogの仕様によるものだと思われます。

ただ、暫定的な解決策として「PHPのエラー表示を無効」にすることで、

とりあえずは、
上記のエラーメッセージは非表示になります。

そして、
テーマのテンプレートの編集後にも何やらよくわからないエラー表示もされることなく「正常に更新されました。」と管理画面からカスタマイズが可能になりました。

 

以下の部分です。ネットオウルのWpblogの設定画面から、

 

WpblogでのAFFINGER4エラー表示対処方法1

 

上記赤枠部分の「PHPエラー表示設定」をクリックします。

以下の画面になります。

 

WpblogでのAFFINGER4エラー表示対処方法2

 

ここで「有効」から「無効」に変更して、設定変更をします。

 

そうしてみたところ、

スポンサーリンク

WordPressのダッシュボードにおいてもサイトの上部においても、とりあえずはエラー表示がされなくなりました。

また、
この設定を変更した後にphpテンプレートをカスタマイズ後に「ファイルを更新」しても正常に更新されました。

 

注意)

一応、
エラー表示は表示されなくはなりますが、根本的な解決になっているのかどうかは定かではないのですが、どうしてもAFFINGER4の最新バージョンver20170410を有効化して使いたいという場合には暫定的な方法としてになりますのでご了承ください。

今後、また何かわかり次第追記していきたいと思います。

-AFFINGER4Pro, WordPress, 不具合, 伝えたいこと, 備忘録

スポンサーリンク




この記事が良かったら
いいね!お願いします(#^.^#)

WordPressデビュー津々浦々の
最新情報をお届けします

言えないことはTwitterで!!



よろしかったらシェアよろしくお願いします。

Copyright© WordPressデビュー津々浦々 , 2017 AllRights Reserved Powered by AFFINGER4.