前提・実現したいこと
ホームページが表示されなくなったのです
発生している問題・エラーメッセージ
Notice: Trying to access array offset on value of type int in /home/fujitaseikotsuin/www/roppongimidtown-seikotsuin.com/wp-content/plugins/secure-wordpress/res/inc/SwpaPlugin.php on line 242
HPが表示されなくなりデバックしたらこの表示です。
それで調べたら以下までは進みました。
これから何をしたらいいのか?わかりません
<?php if(! defined('SWPA_PLUGIN_PREFIX')) return; /** * Class SwpaPlugin * Static class */ class SwpaPlugin { public static function createWpMenu() { if (current_user_can('administrator') && function_exists('add_menu_page')) { $reqCap = 'activate_plugins'; add_menu_page('Secure WP', 'Secure WP', $reqCap, SWPA_PLUGIN_PREFIX, array(get_class(),'pageMain'), SwpaUtil::imageUrl('logo-small.png')); add_submenu_page(SWPA_PLUGIN_PREFIX, 'Dashboard', __('Dashboard'), $reqCap, SWPA_PLUGIN_PREFIX, array(get_class(),'pageMain')); add_submenu_page(SWPA_PLUGIN_PREFIX, 'Database', __('Database'), $reqCap, SWPA_PLUGIN_PREFIX.'database', array(get_class(),'pageDatabase')); add_submenu_page(SWPA_PLUGIN_PREFIX, 'Scanner', __('Scanner'), $reqCap, SWPA_PLUGIN_PREFIX.'scanner', array(get_class(),'pageScanner')); add_submenu_page(SWPA_PLUGIN_PREFIX, 'Live traffic', __('Live traffic'), $reqCap, SWPA_PLUGIN_PREFIX.'live_traffic', array(get_class(),'pageLiveTraffic')); add_submenu_page(SWPA_PLUGIN_PREFIX, 'Blog', __('Blog'), $reqCap, SWPA_PLUGIN_PREFIX.'blog', array(get_class(),'pageBlog')); add_submenu_page(SWPA_PLUGIN_PREFIX, 'Settings', __('Settings'), $reqCap, SWPA_PLUGIN_PREFIX.'settings', array(get_class(),'pageSettings')); add_submenu_page(SWPA_PLUGIN_PREFIX, 'About', __('About'), $reqCap, SWPA_PLUGIN_PREFIX.'about', array(get_class(),'pageAbout')); } } public static function pageMain() { SwpaUtil::includePage('dashboard.php'); } public static function pageDatabase() { SwpaUtil::includePage('database.php'); } public static function pageScanner() { SwpaUtil::includePage('scanner.php'); } public static function pageLiveTraffic() { SwpaUtil::includePage('live_traffic.php'); } public static function pageBlog() { SwpaUtil::includePage('blog.php'); } public static function pageSettings() { SwpaUtil::includePage('settings.php'); } public static function pageAbout() { SwpaUtil::includePage('about.php'); } public static function loadResources() { if(SwpaUtil::canLoad()){ wp_enqueue_style('wsd-styles-base', SwpaUtil::cssUrl('styles.base.css')); wp_enqueue_style('wsd-styles-alerts', SwpaUtil::cssUrl('styles.alerts.css')); wp_enqueue_style('wsd-styles-general', SwpaUtil::cssUrl('styles.general.css')); wp_enqueue_style('wsd-styles-status', SwpaUtil::cssUrl('styles.status.css')); wp_enqueue_script('wsdplugin-js-util', SwpaUtil::jsUrl('wsd-util.js'), array('jquery')); } } /** * Common method to add an alert to database. * @static * @param string $actionName The name of the action of the alert * @param int $type Can only be one of the following: SWPA_PLUGIN_ALERT_TYPE_OVERWRITE | SWPA_PLUGIN_ALERT_TYPE_STACK. Defaults to SWPA_PLUGIN_ALERT_TYPE_OVERWRITE * @param int $severity Can only have one of the following values: 0 1 2 3. Defaults to 0. * @param string $title * @param string $description * @param string $solution * @return bool */ public static function alert($actionName, $type = 0, $severity = 0, $title = '', $description = '', $solution = '') { global $wpdb; $table = self::getTableName(); if($type == SWPA_PLUGIN_ALERT_TYPE_STACK) { //#! Check the max number of stacked alerts to keep and remove the exceeding ones $afsDate = $wpdb->get_var("SELECT alertFirstSeen FROM $table WHERE alertActionName = '$actionName' ORDER BY `alertDate`;"); if(empty($afsDate)){ $afsDate = "CURRENT_TIMESTAMP()";} else { $afsDate = "'".$afsDate."'"; } $result = $wpdb->get_var("SELECT COUNT(alertId) FROM $table WHERE alertActionName = '$actionName';"); if($result >= SWPA_PLUGIN_ALERT_STACK_MAX_KEEP){ // remove older entries to make room for the new ones $query = "DELETE FROM $table ORDER BY alertDate ASC LIMIT ".($result - (SWPA_PLUGIN_ALERT_STACK_MAX_KEEP - 1)); $wpdb->query($query); } //Add the new entry $query = $wpdb->prepare( "INSERT INTO $table (`alertType`, `alertSeverity`, `alertActionName`, `alertTitle`, `alertDescription`, `alertSolution`, `alertDate`, `alertFirstSeen`) VALUES (%d, %d, '%s', '%s', '%s', '%s', CURRENT_TIMESTAMP(), $afsDate );" ,$type, $severity, $actionName, $title, $description, $solution); } elseif($type == SWPA_PLUGIN_ALERT_TYPE_OVERWRITE) { //#! Find the record by actionName and update fields $result = $wpdb->get_var("SELECT alertId FROM $table WHERE
試したこと
ここまではこれたのですが
この先が全くどうしたらいいのか?わかりません。
わかる方いたら、教えてください。
宜しくお願い致します。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
状況が何も分かりません。
何をどうして現在どうなっているのですか?
その一行だけのコードになってない文字列だけ提示されても他者には応えようがありません。
赤の他人に確実に状況を伝え再現できるコードと環境情報を提示してください
ご自分の質問を『第三者的視点で』、フラットな状態で読んでみてください。
phpで書いているのであれば、phpのコードをすべて掲載したほうが伝わりますし、今掲載されている断片だけでは何もわかりません。webブラウザでどういうurlを入力したら、webブラウザ上にはどういう表示が出ているのか、urlの元になっているphpファイルの中身はどうなっているのか、この3点は最低でも開示してもらわないと。
エラーメッセージが見えなくなっているので、
```
Notice: Trying to access...
```
というように、上下をバッククォートで囲むようにしてください
アドバイスありがとうございます。
全くの初心者なので
ご迷惑おかけしています。
WordPressに係る質問のようなので、質問のタグにWordPressを添えることを強くおすすめします。
まずさぁ、ご自分の質問を『第三者的視点で』、フラットな状態で読んでみようよ?
それとエラーメッセージは怒声でも暴言でも罵倒でもハラスメントでもなく、
インタプリタとかからのメッセージですよ?
『ここ、なんかおかしいんじゃない? もしかして……これかな?』とかみたいな。
でも今の状態は『相手の話を聞かずに逆ギレしている人』です。
そんな人はコミュニケーションなんて取れませんよね。
それと、エラーメッセージを読むと、『242行目でエラーが発生』とあるけど、
質問にあるコード、たった1行しかないよね?
エラーになる原因はいくらでもありますよ?
たとえば『特定の行が問題』『特定の行より上の行が問題』
『(ファイルの読み込み等で)ファイルがない』『DBが無い』
『メモリが足りない』『OSの設定によるもの』
『WordPress等の環境によるもの』……
相当ありますよ?
それを『プロなんだからわかるだろ』はもはや暴論です。
いくら初心者でもちゃんと情報を提示する事はできますよね?
まずは情報を提示してください。
少なくともちゃんとしたコードぐらいは。
厳しいお言葉ありがとうございます。
それを『プロなんだからわかるだろ』はもはや暴論です。
こんなつもりは毛頭ありません。
わからないことをわからないと表現しているだけで
詳しい方にとってはそんなこともわからないの?
だともいますが
みんな最初は初心者でな?という考え方です。
『わからない』ことが問題ではないのです。
『情報を提示しない事』が問題なのです。
簡単に言えば『思考停止』です。
回答者は質問者と同じ環境にある……わけじゃないので、提示された情報からしか読み取れません。
ですが、たった一行だけ出されてもね……
実際、質問者さんの質問内容にm6uさんがお答えしていますが、
その返信で『○○ってどこ?』と聞かれていますね。
わかりませんよ。誰にも。
だって、コードは1行しかないんだから他人がわかるはずがないでしょ。
面と向かってですらわからないのに、ネットを介しての質問で、
情報を省いた状態で聞いてもわかるはずがないでしょ。
※ ちなみに私は怒ってはいません。あくまで指摘です。
>質問者さん
質問編集画面では質問投稿する時の書き方のヒントもありますし、なんなら質問するときのヒントという
ページもあります。
https://teratail.com/help/question-tips
エラーが出て焦っている、不安になっているのはわかりますが、
回答者はエスパーではないので詳細を書いてもらわなければ当てずっぽうで回答するしか出来ません。
全然足りていませんよ。行数が。
もし字数制限で投稿できないのなら、GitHubなりPastebin ( https://pastebin.pl/ ) なりの
サービスを利用してアップしてください。
たぶん自分が書いたコードではないのでしょうけど、そこに至るまでに何をしたのかは覚えている範囲で書いたほうが良いです。
プログラムは書いたとおりにしか動かないので何もせずにいきなりということはないです。
(それと再三依頼されている「質問タグの追加」はしましょう。PHPに詳しい人とWordpressに詳しい人はイコールではないです。むしろteratailでは少数派の印象)
ありがとうございます。もちろん何もしていません。
初心者なので質問タグの追加の仕方もわからないです。
ごめんなさい。
投稿時に追加できたならやり方は同じです。質問タグ入力のところでWとでも打てば候補も出るでしょう
ありがとうございます。
やってみます
また、触ってないプラグインのコードそのまま提示されてもあまり意味はないのでm6uさんの回答で指摘されている通り、バージョン確認してそのバージョンを記載したほうが良いかもしれません。
プラグインのアップデートが手動なのか自動なのかにもよりますし、何も変わっていないということはないです。
何かが変わったからこうなった。
今の所他者から言えるのは可能性だけで、直球のアドバイスは誰にもできないと思います。
回答1件
あなたの回答
tips
プレビュー