readme.txtreadme.txt

PHP

  • WordPressサイトで投稿の検索を行う際に日本語を入力する人は多いでしょう。
    そして複数の検索ワードを入力するとき、多くの人が『全角スペース』を使用して複数ワードを区切っていくかもしれません。きっと多くの人がそうするでしょう。

    WordPressのデフォルトの状態では検索時は『半角スペース』で検索ワードを区切って検索しないとヒットして欲しい投稿が検索結果に表示されません。

    例えばこのページを検索する際に「WordPressサイト 検索」では検索ワードにヒットしません。

    「WordPressサイト 検索」で検索すると検索ワードにヒットします。

    こういった点を考慮して、WordPressで日本語(マルチバイト言語)のサイトを構築している運営者の多くは「WP Multibyte Patch」を使用しているように思います。

    「WP Multibyte Patch」は検索の際に全角スペースを区切り文字として認識させます。また、検索文字列内の重複するスペースを取り除きます。

    WP Multibyte Patch 作者 ドキュメント

     ※実際には「WP Multibyte Patch」は他にも多くの機能を持ったプラグインで私も長年利用させて頂いておりました。

    続きを読む »

  • WordPressにブロックエディタが登場してもう何年も経ち、多くのテーマがブロックエディタ対応に変化してきました。
    ブロックエディタ登場前はクラシックエディタと呼ばれるエディタを投稿ページで使用していましたが、古くからWordPressを使ってきた方ほど、仕様のまったく違う二つのエディタに戸惑うことも多い(多かった)ように思います。

    どちらを使うべきかや今後のサポートについてなどのお話は一旦棚上げさせて頂き、ブロックエディタの無効化のコードについてです。
    結論から言いますと、下記のコードでブロックエディタを無効化できます。コードはfunctions.php等に記述すれば問題なく動作します。
    続きを読む »

  • WordPressを使用したサイトで投稿の本文(固定ページも同様)にサイト内の別ページのリンクを記述するときのお話です。

    【WordPressのサイトアドレス (URL)が http://www.example.com の場合】

    ブロックエディターを使用するにしろ、クラシックエディタを使用するにしろ、通常はリンク部分のURLや表示したいURLとして「http://www.example.com/sample_page/」のような文字列が投稿本文には登録されます。これは投稿本文内に画像を表示させる際も同様で画像を表示するために「http://www.example.com/wordpress/wp-content/uploads/2025/03/xxxx.jpg」のようなhtmlのコードがたくさん記述(登録)されることとなります。

    永遠にドメインの変更はしないと誓って(?)サイト運営されている場合は特に問題はないかもしれませんが、何らかの事情でWordPressのドメインの変更サイトアドレス (URL)を変更しなくてはならない場合、投稿本文内に登録されている変更前のURLは変更後は正しいURLではなくなるため大きな問題になります。
    (例えば http://www.example.comhttp://www.sample.com に変更しなければならない場合等)
    WebサイトをSSL化する際も同様のことが言えますが、SSL化の場合は.htaccessでリダイレクト設定を行うだけでも当面は問題にならないかもしれません。
    続きを読む »

  • WordPressでファイルをアップロードする際にアップロードするファイルのファイル名を事前に半角英数の管理しやすいファイル名にしてアップロードするのはサイト内で使用するアップロードファイルを管理する上ではとても良い方法の一つです。

    ※ここで言う「ファイル名」はメディアとして投稿されたタイトル(投稿タイトル)ではなくアップロードファイルのURLと使用される「xxxx.jpg」のようなファイル名です。

    ですが、投稿数が多い場合や多くの画像をアップロードしたい場合などついつい面倒になってしまうこともあるかと思います。
    また、何も気にせずにファイルをアップロードする際に問題になりがちなのがマルチバイトのファイル名(日本語のファイル名)のファイルや意図せず記号が含まれたファイル名のファイルをアップロードしてしまうようなケースです。(後者の記号が含まれるファイル名のケースはあまりないかもしれませんが。)

    ※WordPressのデフォルトの仕様では日本語のファイル名はそのままアップロードされたファイルのファイル名として使用されます。記号についてはファイル名の先頭の記号は削除され、その他の記号は使用可能な記号であればそのままの形でファイル名として使用されます。

    日本語でWordPressを運用している方の多くは「WP Multibyte Patch」というプラグインを使用されているかもしれません。(私も過去、長く利用させていただいておりました。ありがとうございます。)
    このプラグインはマルチバイトの文字に対していくつかの補助機能があり、その一つに日本語のファイル名のファイルをアップロードした際にファイル名を自動的に「ca49f15f9b95aa9a7284dae2aacb195b.jpg」のような半角英数のファイル名に変換する機能があります。

    この日本語ファイル名のmd5ハッシュ化は「WP Multibyte Patch」プラグインを使用しなくても簡単に実現は可能です。また、同様のコードでアップロードするファイル名を特定のルールに沿ったファイル名に変換することが可能です。

    続きを読む »

  • WordPressの自動更新機能はWordPress 3.7以降で組み込まれた機能です。
    基本情報として今回の「更新」というのは、大きく以下の4つの更新についてです。
     1. WordPressコアファイルの更新
     2. プラグインの更新
     3. テーマの更新
     4. 翻訳ファイルの更新

    また、バージョンのアップデートにはマイナーバージョンのアップデートとメジャーバージョンのアップデートがあります。
     WordPress 5.9.10 => 6.0 メジャーバージョンの更新
     WordPress 6.6.2 => 6.7.1 マイナーバージョンの更新
     ※基本的にプラグインも同様です。

    続きを読む »

  • WordPressでは投稿本文のURLを自動的にリンク表示する機能があります。
    この機能は制作するサイトによって有効にしたり無効にしたり設定を行うと思いますが、有効にした際に生成されるリンクタグにちょっと一手間。

    デフォルトの状態ではリンクをクリックするとページ遷移するわけですが、同一サイト内のリンクならそのままページ遷移して、外部サイトへのリンクの場合には新しいタブ等でリンク先を表示したいときの設定です。
    functions.phpなどに記述すれば外部サイトは新規タブ等でリンク先を表示します。
    続きを読む »

  • クライアントにWordPressを勝手に更新されて不具合が出ないようにという意図からなのか、更新してプラグインやテーマに不具合がでた場合にすぐに改修ができないときのためなのか、ときどきWordPressの更新情報を表示させないようにしているサイトの改修のお話を頂きます。
    サイトによって様々な事情を抱えての対処だとは思うのですが、当然、特別な事情がない限り更新は行うべきです。むしろ更新しないサイトは『脆弱性を抱えていることを知りつつ』、そのままサイト運営を行なっているということなので、コンプライアンス的にも問題ありです。
    『脆弱性を抱えていることを知りつつ』というのは実際には知らなかったとしても、運営者サイドとしては知っていなければならないことですので同義だと考えられます。
    続きを読む »

  • PHPのsession_regenerate_id()の引数はtrueにしない。
    ・session_idはregenerateの必要がある(ログイン・ログアウト時など)
    ・引数にtrueを指定するとセッションデータ(セッションファイル)が削除されるが、不安定なネットワークではセッション切れを起こす可能性がある。
    ・セッションファイルは適時、削除する必要がある。
    続きを読む »

  • PageSpeed Insights と画像圧縮についての備忘録。

     

    JPEGについて

    ImageMagickを使用する。Jpegtranが利用できればなお可。

     

    続きを読む »

  • ものすごく久しぶりにEC−CUBEをさわる機会ができました。以前設定したローカル環境のサイトを確認してみるとエラーが表示され、管理画面へのログインも出来ない。
    原因はローカル環境のMySQLのバージョンに関連することはすぐに予想できたため、少し調べてみました。

    修正部分は /htdocs/ec-cube/data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php の最終ブロックの1行のみ。

    MySQLのデフォルトストレージエンジンはMySQL 5.5 からInnoDB。(これ以前はMyISAM)

    エラーメッセージで表示されている storage_engine は下記ページの通り、MySQL 5.7.5 で削除されており、現在は default_storage_engine を使用する。

    storage_engine: This variable is deprecated and was removed in MySQL 5.7.5. Use default_stor…

     

    続きを読む »