エプソンダイレクト株式会社

2023年6月18日(日曜日)

WordPress の 501 エラー対策ふたたび

Category: WordPress | Posted By at 23:27:35

以前投稿していたWordPress の 501 エラー対策
昨日は結構これにはまってました(苦笑)。
で、自己解決なんですが、今度は何のキーワードが?

前回は CD でしたが、今回は httpd.conf

いやどっちも表示されてるやん?ですが、
前回は span タグで 適当に区切った後、
display:none; で区切りを消してましたが、

<span>C</span><span>D</span>

とか

<span>httpd.</span><span>conf</span>

とかしているだけです。

要は連続した文字列で↑の文字列を書くとダメなので、
span でもなんでも文字列を区切ればいいわけなんですね。

昨日のブログを更新しようとして更新されず
また WordPress がやらかしたんかなぁ?と思ったのですが、
とりあえず問題がなくてよかったです。
他にどんな文字列があるのやら… (´・ω・`)

2022年7月19日(火曜日)

Collapsing Archives の件、一件落着

Category: WordPress | Posted By at 21:09:59

ブログの左側で年月ごとにアーカイブしている
Collapsing Archives プラグインですが、
ようやく解決しましたのでご報告します。

とだけ書かれた書きかけのブログが残っていました。
どう解決したのか?とか何も残っていません…。
ひょっとしてこれは…誰かのダイイングメッセージなのか?
いや書いたの俺か…なんだっけ?
てかもうプラグイン側で解決したんだっけ?
たぶん解決してまたネタ不足の時にでも書こうと思って
すっかり忘れてたんでしょう(図星)。

はて、よくわからんのですが、
もし解決されていない方がおられれば、
参考にしてください。

Update caused the problem it meant to fix | WordPress.org

こちらにも書かれてあるのですが、

/<WordPress インストールフォルダ>/wp-contents/plugins/collapsing-archives/

ディレクトリの中の collapsArch.php を編集します。
40 行目付近を以下のように変更します。

if (!is_admin()) {
	wp_enqueue_script('jquery');
//	add_action( 'wp_enqueue_scripts', array( 'collapsArch', 'enqueue_scripts' ) );	// コメントアウト
	add_action( 'wp_head', array('collapsArch','get_head'));			// この行を追加
} else {
	// call upgrade function if current version is lower than actual version
	$dbversion = get_option('collapsArchVersion');
	if (!$dbversion || $collapsArchVersion != $dbversion)
		collapsArch::init();
}

今確認するとバージョンは上がってないので
現状ではバグありの状態なんですね。
参考になれば…

2022年3月15日(火曜日)

WordPress のエラーの件は Collapsing Archives っぽい

Category: WordPress | Posted By at 12:43:09

先日の WordPress のエラーの件ですが、
WordPress 本体の問題なのかどうかはわかりませんが、
Collapsing Archives というプラグインを
有効にしていると以下のエラーが出るのを確認しました。

Warning: call_user_func_array() expects parameter 1 to be a valid callback, class ‘collapsArch’ does not have a method ‘enqueue_scripts’ in /home/hogehoge.com/public_html/wp-includes/class-wp-hook.php on line 307

ひょっとすると WordPress の仕様変更がらみかもしれませんが、
プラグインがそれに対応できてないのかもしれません。

ただ、Collapsing Archives のページを見ていると最新版の 2.1.3 が 5 日前に公開されてるんですね。
いわゆるエンバグ(プログラム修正したらバグっちゃった♪テヘッ♪♪♪)
なのかもしれません。

…とサポートフォーラムを見てると…

Update caused the problem it meant to fix | WordPress.org

おぉ~同ネタ多数の予感でしたか…
結構人気のプラグインなので被害も多数出てるようですね。

ただ、今は繁忙期なのでデバッグすることもできず…
とりあえずプラグインのバグの様なので
しばらくはオフにして直るのを待つことにします。

とりあえず原因がわかったので良かったです。
ちなみにこの間のページの対処法はあくまで対症療法。
バグがなくなったわけではなく見えなくしただけなので、
トラブルの早期発見につながるので
普段は見えるようにしておいた方がいいと思います。

2022年3月11日(金曜日)

WordPress なんかやらかした?

Category: WordPress | Posted By at 23:59:20

このブログはだいたい一日の終わりに、
『はよお風呂入り!』という無言の圧力を感じながら
大慌てで書くことが多いのですが、
さて今日も書こうかな?と思ってブログを立ち上げたら、
ブログのトップのところに…

Warning: call_user_func_array() expects parameter 1 to be a valid callback, class ‘collapsArch’ does not have a method ‘enqueue_scripts’ in /home/customer/www/harupets.com/public_html/wp-includes/class-wp-hook.php on line 307

というエラーが…

こんな夜更けにデバッグかよ

大泉洋もびっくりです。

ほぼほぼさっきまでこんなことはなかったのに…

と思ってまんま Google で検索してみると、
出るわ出るわいろんなサイトのこのメッセージ…

class-wp-hook.php は wp-includes の中の
システムのファイルなのでこれがエラーをはく…
というのはなんか気持ち悪いですが
(アタックを受けた…なんて可能性もゼロじゃないのですが…)
とりあえず表示しておくのもどうかと思いましたので修正をしました。

wp-config.php の中に

define (‘WPLANG’, ‘ja’);

という記述があるので、その下に

define(‘WP_DEBUG’, true);
define(‘WP_DEBUG_DISPLAY’, false);
define(‘WP_DEBUG_LOG’, true);

と記述します。
原因が WordPress のやらかしと信じたいのですが…
明日以降でチェックしようと思います。

2022年2月27日(日曜日)

WordPress の 501 エラー対策

Category: WordPress | Posted By at 18:13:39

昨日のブログの書き込みをしていて、
さぁ終わってビールでも飲むかぁ~
と思って公開ボタンを押したら 501 エラー !?

ん? WordPress なんかやらかした?

頭の中は『???』という状態でしたが、
とりあえず対策をしていていくことに…。

501 Not Implemented – HTTP | MDN

501 エラーはこんな感じ。

501 は、サーバーがリクエストメソッドを理解できず、あるリソースに対して対応することができない場合のレスポンスに適切です。サーバーが対応する必要がある (したがって、 501 を返す必要がない) メソッドは GET と HEAD だけです。

エラー自体はサーバ側の問題なので、
プログラムのバグなのか、なにか特別なものなのか…

色々検索してみるとレンタルサーバが提供している
WAF ( Web Application Firewall ) という機能が、
悪さをしているようです。
機能を切ることで動かすこともできますが、
その分セキュリティのレベルが下がります。

で、どうも調べてみると、私の環境では c d ~/
という言葉が入っているとこのエラーが発生しました。
これは c d ~/ という言葉が連続しているとなるので
c d のように間にスペースを開けるなどすると対応ができます。
ただこのスペースは格好悪いので消してしまう方がいいでしょう。

方法は以下の通り

c<span style="display:none;"> </span>d ~/

要は空白を css の display:none; で消す方法です。
気づくまではちょっと時間がかかりましたが、
わかってしまうとなんてことはないです。

おそらくシェルのコマンド系のものと判断され、
はじかれたのだと思います。
ということは他にもあるかもしれませんね。
対応の方法としては同じなので試してみてください。

2021年10月15日(金曜日)

WordPress のいらないリビジョンをきれいに

Category: WordPress | Posted By at 23:59:19

どうしても WordPress で記事を編集していると
編集中のリビジョンなんかが残ってしまい、
データベースが肥大しがちです。
そのまま納品してもいいのですが、
やっぱりかっこ悪いですよねぇ…。

というわけで楽そうなプラグインのご紹介。

WP-Optimize – Cache, Clean, Compress. – WordPress plugin | WordPress.org

WordPress の管理画面から プラグイン → 新規追加で
WP-Optimize で検索すると出てきます。

WordPress のいらないリビジョンをきれいに

そうすると画面右のメニューの中に
WP-Optimize という項目が出てきます。
その中のデータベースの項目で
色々と最適化ができるようです。
他にも画像なんかもいじれそうですが、
またそれは別の機会に…。

2021年3月22日(月曜日)

PHP の正規表現ではまる

Category: WordPress | Posted By at 23:57:00

普段の生活で正規表現を使うことはなかなかないかもしれませんが、
プログラムをやってたりするとそこそこ使います。

さてここのところ WordPress を使った、
Web 作成及びプログラム開発をしているのですが、
そんな中で正規表現を使いたい…
と思ってたらドハマリしました…。

というわけでほぼ備忘録です。

preg_match()
preg_match( “/正規表現/”, $filename, $match );

この例でいうと変数 $filename から正規表現でマッチしたものを
$match に代入する…というものになるのですが、
やりたかったのは

$filename =”D:¥public_html¥test¥test.php”;
から “test.php” を抜き出すというもの。
正規表現では ¥ マークは ¥ マークでエスケープしないとだめなので

preg_match( “/[^¥¥]+$/”, $filename, $match );

でいけそうな気がするのですが、
ところがどっこい(死後)だめなんです。

もうめんどくさいので結果だけか書きますが

preg_match( “/[^¥¥¥¥]+$/”, $filename, $match );

ちなみに ¥¥¥ でもいけました。
理由はわかりません。
こういうのが一番気持ち悪いですね…。

2021年3月6日(土曜日)

WordPress で UPLOADS が反映されない?続報

Category: WordPress | Posted By at 23:44:16

ここしばらく悩みに悩んでいたのですが、
ふとしたことで復旧したと喜んでブログにしたためのが昨日の話…。

確かに動いていたので喜んでいたのですが…

ありゃ動いてへんがな (´・ω・`)

結局昨日はどうにも動かず…さて寝るか…
と思ってネットの波にをさまよってたら

ありゃ動いた… (´・ω・`)

ここしばらく悩んでたのはなんやったんや…

で、対策ですが…

wp-config.php の中で UPLOADS を設定します。

define( ‘UPLOADS’, ‘upload_dir’ );

もちろんこんなので間違ったわけではありません。
typo(タイプミス)したわけでもありません。

実はこの一文を入れるのが

require_once( ABSPATH . ‘wp-settings.php’ );

前に入れないとダメなんですね…。
何気なしに末尾に入れてたら動かないんですね…。
てかなんで一瞬でも動いたんだ… (´・ω・`)

2021年3月5日(金曜日)

WordPress で UPLOADS が反映されない?

Category: WordPress | Posted By at 23:40:15

なんかここしばらくで久々に激ハマりしてしまいました。
多分ここ三日ほどで寿命がだいぶ縮まったと思います。
先立つ不孝をお許しください…(違)。

ローカル環境で検証しようとしている時のこと。
いったん初期化して最初からやり直しをしておりました。
記事を作成して WordPress のサムネールを設定し、
いざ表示しようとするとなぜか妙なアドレスになります。
何が気に入らん… !? 一体何が気に入らん… !?

最初からやり直しても全然改善しないですし、
なにかアップデートでおかしくなった?
WordPress もやらかした?と思っておりました。

ここで 00H の社訓を皆様に披露したいと思います。

疑う時は自分から

よく関西では『鍵がどっか行った』と、
まるで鍵に足が生えて歩いて行ったような
ことを言いますが、どっかにやったのは
あなた自身ですから…

そうですまず疑うのは自分自身です。

初期化した時に初期化されるもの…
そう .htaccess が初期化されているのです。
これを正しく設定していないと UPLOADS の値が
正しく反映されないようです。

設定のやり方は管理画面で

設定→パーマリンク

で、設定をしてください。

2021年2月20日(土曜日)

WordPress の作業中

Category: WordPress | Posted By at 23:59:08

久しぶりに WordPress を触っております。
以前と比べてもだいぶ変わっていますね。
内部的にもだいぶ便利になっているようです。

個人的にびっくりしたのは
get_template_part のバージョンアップがうれしいです。

get_template_part は

get_template_part( $slug, $name )

のように使います。

例えば

get_template_part( “page”, “loop” );

だと page-loop.php を読み込むことができるのですが、
page-loop.php にパラメータを与え内部で条件分岐処理する
というのはひと工夫必要だったのですが、
第三パラメータでテンプレートに値が渡せるようになりました。

get_template_part( “page”, “loop”, $array );

とすることで配列 $array を page-loop.php に渡すことができます。

この時、page-loop.php では配列 $args に格納されるので
$args[ ‘key’ ] のようにして配列にアクセスしてください。
しかしこれなんで $args なんですかね?
日本語にも英語にも表記がなかったのですが
ま、便利になったのはいいことです。
あとはバージョンアップで廃止にならないように祈ります(笑)。

HP Directplus -HP公式オンラインストア- デル株式会社 東芝ダイレクト 富士通パソコンFMVの直販サイト富士通 WEB MART ソフマップ・ドットコム