投稿記事にURLを記載しただけで、クリックすると自動で別ページで開いてくれるプラグイン external_link_rewriter

WordPress の投稿で url を記載した時に、自動的にリンクを貼って、しかも、 その url をクリックした際に別のページが開いてほしい、ということがあります。

もし url の文字をクリックして、同じページで別のページが開いてしまうと、せっかく訪問してくれた訪問者が、戻ってこれなくなる可能性があります。

そこで、プラグインの入れて、 url を記載すれば、自動的にリンクを貼って、別ページが開いてくれるというのがありがたいです。

先ほど、 wordpressのページを作成した際に、同じページで別ページにジャンプしてしまったので、今まで、別ページにジャンプしていたサイトのプラグインを確認したところ、導入していたのが次のプラグインでした。

早速、プラグインのページから検索をして、インストールをしたところ、別ページが開いてジャンプするようになりました。

とても便利なプラグイン、それが、「external_link_rewriter」です。

WordPressのマルチサイトだけphp.iniが反映されなくて困った

マルチサイトのアップロードの容量がphp.iniの記載を変更しても大きくならない

WordPressをインストールすると、レンタルサーバーのマニュアルに従って、「php.ini」と「.htaccess」をサーバーに設置します。

php.iniについては、下記のような任意の容量を記載しておきます。

——————————
;メモリ使用量の上限
memory_limit = 120M

;POSTデータの最大サイズ ※合計サイズ
post_max_size = 100M

;1ファイルあたりの最大アップロードサイズ
upload_max_filesize = 100M
——————————

通常のWordPressのサイトでは、きちんと容量が反映して、大きな画像データなどをアップロードできます。最大アップロードサイズがphp.ini反映

ところが、WordPressのマルチサイトでは、どうしても反映されずに、困ってしまいました。スイズを1500キロバイト以下

最大アップロードサイズ1NB

そこで、なんとかアップロードサイズの上限を上げるために、次の二つの方法を何度も試してみました。

「php.ini」 の設定を変える。
「.htaccess」 で設定をする。

しかし、どうしても、だめなんです。

そうこうしているうちに、今回の現象は、マルチサイトだけに起きている、ということに気づきました。

そこで、改めて、マルチサイトの「サイトネットワーク管理」の画面で該当個所がないか、を調べてみました。

あった、あった、ありました!

設定>ネットワークの設定
この画面の下の方に、「アップロード設定」というタイトルの中に、
1)サイトのアップロード容量
2)アップロード可能なファイル形式
3)アップロードファイルの最大サイズ
という項目がありました。

なんと、3)アップロードファイルの最大サイズ  1500KB となっていました。

これだ!

早速、1500KBを20000KBに修正して、変更を保存してみました。

今まで、容量オーバーでできなかったサイトで
メディア>新規追加
で確認したところ、さっきまでは、
最大アップロードサイズ: 1MB
だったのに、
最大アップロードサイズ: 20 MB になっていました。

よがった!

めでたし、めでたし! です。

WordPressのマルチサイトにBasic認証を手際よくかけたい

WordPressでマルチサイトを作成したサイトにBasic認証をかけるたい場合があります。

具体的には、マルチサイトのURL「http://exemple.com/」の「http://exemple.com/sample/」にBasic認証をかけたい、という場合です。

私は、WordPressを設置しているルートディレクトリにFTPで「sample」というディレクトリを作成します。

次に、作成したディレクトリ「sample」の中にルートディレクトリの「index.php」をコピーします。

この作業での注意は、「index.php」の中の記載を修正することですが、ついつい忘れてしまいます。

具体的には、
「require( dirname( __FILE__ ) . ‘/wp-blog-header.php’ );」

「require( dirname( __FILE__ ) . ‘/../wp-blog-header.php’ );」
このように修正します。

「wp-blog-header.php」のパスは、ルートディレクトリから1階層下の場所にあるので「../ 」が必要なんですね。

なお、Basic認証のためには、「.htaccess」と「.htpasswd」を作成して、FTPでサーバーにアップロードする必要があります。

Basic認証をかけたいサイトが複数ある場合に、それぞれのディレクトリー名のフォルダーを作成して、それぞれに「.htaccess」と「.htpasswd」を置く、というのが基本です。
ところが、この手順を間違えたり、忘れてしまったりすることが多いんですよね。

そこで、ミスを無くして簡単にBasic認証をかけられる方法を考えてみました。

よく考えると、パスワードが記載されている「.htpasswd」は、共通のフォルダーに置いて一つにすることが可能です。
また、「.htaccess」の中身も、「.htpasswd」へのパスを共通にすると、全部が同じで共用することができます。
そして、「index.php」の中身も共通です。

ということは、最初に下記の3つのファイルを用意してしまえばいい、ということに気づきました(下記の/home/exempleというパスは単なる例です)。

1)「.htpasswd」を「/home/exemple」の中に一つ作成する
2)「.htaccess」を下記のような内容で一つ作成する
//////////////////////////////////
AuthUserFile /home/exemple/.htpasswd
AuthGroupFile /dev/null
AuthName “Protected Member’s Area”
AuthType Basic
<Limit GET POST>
require valid-user
</Limit>
//////////////////////////////////
3)「index.php」の中の「wp-blog-header.php」のパスを修正したファイルを一つ作成する

この2)と3)のファイルをパックにして、Basic認証をかけたいサイトができたら、FTPでフォルダーを作成して、アップロードすればOKです。

あるいは、最初から、2)と3)のファイルを入れた任意のフォルダーを作成しておいて、Basic認証をかけたいサイトができたら、フォルダーをリネームすれば、OKです。

なお、「.htpasswd」に複数のユーザーを登録する場合には、URLがわかってしまうと、全員が全部のサイトを閲覧できてしまいますので、一工夫が必要ですね。