質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

2回答

231閲覧

ワードプレスのpregマッチエラーが出ています。

niconic73027793

総合スコア215

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2023/02/23 02:36

実現したいこと

エラーの修正

前提

ここに質問の内容を詳しく書いてください。

ワードプレスのダッシュボードにエラーがでています。
どうすれば修正できるのでしょうか?

発生している問題・エラーメッセージ

エラーメッセージ

Warning: preg_match(): Compilation failed: quantifier does not follow a repeatable item at offset 1 in /home/sigokix/public_html/4519garden.com/wp-includes/class-wp.php on line 235

Warning: preg_match(): Compilation failed: quantifier does not follow a repeatable item at offset 1 in /home/sigokix/public_html/4519garden.com/wp-includes/class-wp.php on line 234

Warning: preg_match(): Compilation failed: quantifier does not follow a repeatable item at offset 1 in /home/sigokix/public_html/4519garden.com/wp-includes/class-wp.php on line 235

Warning: Cannot modify header information - headers already sent by (output started at /home/sigokix/public_html/4519garden.com/wp-includes/class-wp.php:234) in /home/sigokix/public_html/4519garden.com/wp-admin/admin-header.php on line 9

該当のソースコード

ソースコード
if ( preg_match( "#^$match#", $request_match, $matches ) || preg_match( "#^$match#", urldecode( $request_match ), $matches ) ) { if ( $wp_rewrite->use_verbose_page_rules && preg_match( '/pagename=\$matches\[([0-9]+)\]/', $query, $varmatch ) ) { // This is a verbose page match, let's check to be sure about it. $page = get_page_by_path( $matches[ $varmatch[1] ] ); if ( ! $page ) { continue; }

試したこと

ここに問題に対して試したことを記載してください。

phpのバージョンアップ

検索結果で解決策がないか調査

WordPress ワードプレスのエラー解説:Warning: preg_match() [function.preg-match]: Unknown modifier | ワードプレスドクター https://wp-doctor.jp/blog/2016/03/11/wordpress-%E3%83%AF%E3%83%BC%E3%83%89%E3%83%97%E3%83%AC%E3%82%B9%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E8%A7%A3%E8%AA%AC%EF%BC%9Awarning-preg_match-function-preg-match-unknown-modifier/

補足情報(FW/ツールのバージョンなど)

ワードプレスのバージョン 6.11

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2023/02/23 05:20

参考記事のURLからかなり古い情報を参照しているようですが、何によってその現象が起きたのでしょうか。 PHPのバージョンアップによって起きたのでしたらそのバージョンにテーマなりWordPressなりが対応してないということになり、バージョンを戻すしかないと思います。もしくはテーマ・WordPressのバージョンアップ。 自身が何かしら書いたコードで起きたのでしたら、それはその部分のコードを見直す必要があります。 前提やそこに至るまでの経緯をもう少し具体的に記載してください。
guest

回答2

0

ご回答ありがとうございます。
具体的にはコードをどのように修正すれば良いのでしょうか。

調べていく過程で

変数$matchの値を確認と出てきましたが
どういうことかわかりませんでした。

投稿2023/02/23 07:46

niconic73027793

総合スコア215

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2023/02/23 07:50

自分で書いたプログラムでは無いと言うことですか??
niconic73027793

2023/02/23 09:00

はい。サーバーを移転したときに、ダッシュボードにエラーがでてしまいました。 THE THOR というワードプレステンプレートを購入しその箇所はいじっていないのにエラーがでているので 原因を調べいます。
otn

2023/02/23 12:59

環境を変えたら、今まで動いていたプログラムがエラーになったと言うことですね。 それは想定外でした。 前後の環境を詳しく質問文に追記するのが良いと思います。
guest

0

正規表現として、"#^$match#"を書いていますが、変数$matchを展開した結果が正しい正規表現になってないと言うことでしょう。変数の値を確認しましょう。

あるいは、
変数$matchの中身が正規表現というわけではなく、文字列先頭が変数$matchの中身と一致するという判断をしたいなら、preg_quote()する必要があります。あるいは正規表現を使わずにstr_starts_with()を使うか。

投稿2023/02/23 03:56

otn

総合スコア84555

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問