WordPress すでに投稿したページの編集をスケジュールで変更する

WordPress

WordPress すでに投稿したページの編集をスケジュールで変更する

WordPressには、便利な機能「予約投稿」というものがあります。
Postでも、Pageでも、未来の日付を投稿時に設定しておけば、設定した日時に更新がされます。
とても便利な機能です。

しかし、これは「まだ投稿していないPost(あるいはPage)」の場合の機能なんですね。

たとえば、昔に投稿したページの内容を書き変えたいのだけれど、理由があってまだ変更したくない。
ある特定の日時でしか変更したくない。
というニーズには対応していません。
デフォルトではこの機能はないのです。
予約投稿にすると、投稿したpostやPage自体がサイトからなくなってしまうのです。

ブログだと、あまりそういう機能は必要ないかと思いますが、企業用ホームページなどをWordPressを作る場合は、これがあると断然便利です。
新製品の発表とか、人事とか、そういうのですね。

で、この機能をプラグインで実現できます。

Revisionary
http://wordpress.org/plugins/revisionary/

WordPress3.0以上が対応バージョンです。

リビジョンというものを利用しますので、少々使い方が複雑です。

なので、書いておきます。

  1. ダッシュボードのプラグイン→新規追加から、Revisionaryを検索して、インストールします。
  2. 設定→Revisionaryという項目ができていると思います。設定関係は複雑なので、とりあえずは飛ばします。
  3. メインの、すでにあるページを、指定日時が来たら変更する、をやってみます。
  4. 変更したいページに行き、内容を変更したい内容に変更してから、右の方の更新パネルで、下記のスクショのように、公開予定日時に変更したい日時を入力し、「save as pending revision」にチェックを入れます。

すると、青いボタンが「Schedule Revision」となります。
ステータスが「公開済み」となっているのも確認してください。

  1. 青い「Schedule Revision」ボタンをクリックします。すると、次のスクショのような画面になります。一番上の、View it in Revisions Managerをクリックします。

  1. 次のような画面になります。ここで肝心なのは、赤マルで囲った「Schedule Now」をクリックすることです。そうしないと、スケジュールされたことになりません。

  1. すると、赤マルの部分が、「Scheduled Revisions(1)」になります。さっきまで、(0)だったかと思います。

すると、予約した変更も消えません。
あとは時間まで待ってみましょう!

ちなみにですね、このプラグインにたどりつくまでに紆余曲折あり、いろんなプラグインを試したので、書いておきます。

下記の二つのプラグインは、上記に書いたようなことができそうですが、実際は、未来の日付で投稿された投稿を今すぐ見せる、というタイプです。

The Future Is Now
http://wordpress.org/plugins/the-future-is-now/other_notes/

WP Scheduled Posts
http://wordpress.org/plugins/wp-scheduled-posts/

そんなん何に役立つの?とか思うかもしれませんが、イベント関係のブログで、未来のイベントの告知をしたい、などの時に有効です。

WordPress 「date」関数を使おうとしたら時間がずれる件

WordPress

WordPress 「date」関数を使おうとしたら時間がずれる件

データベースへフォームのデータを入れるときなどで「date」関数を用いて時間を設定しようと思ったら「時間がずれてる。。。」っていうことはありませんか?

そんなお困りの時のコードです!

 date_i18n("Y/m/d H:i:s")

上記の関数は現在時刻を表しますのでこの関数を使用すれば瞬時に治ります!
でも「この関数を用いても時間がおかしい」という方は、php.iniの設定を見直してみてください。

WordPress wp-touch モバイルテーマの切り替えがうまく動作しない

WordPress

WordPress wp-touch モバイルテーマの切り替えがうまく動作しない

wp-touchはWordPressでスマートフォン用のページを表示する便利なプラグインです。
スマホ用のページ、PC用のページをユーザーが任意で切り替えられるのもとてもよいところです。
しかし、この切り替えがうまくいかない場合があります。

 「接続を確立できませんでした」
 「接続が中断されました」    
 「ページの読み込み中に ***.jp への接続が切断されました。」

などのメッセージが表示され、切り替えできません。

URLを見ると、なぜかhttpsで始まるサイトにリダイレクトされてしまっていたりします。
サーバーから帰ってくる環境変数 $_SERVER[‘HTTPS’] で判断しているようなのですが、これの判定がサーバーによりうまくいかないようですね。

仕方ないので、対処療法ですが、プログラムから強制的に修正します。

  • plugins/wptouch/wptouch.php の555行目を修正
 //下の行で$_SERVER['HTTPS']がなければで判定をしているので、強制的にhttpにプロトコルを指定
 //$protocol = ( !empty($_SERVER['HTTPS']) ) ? 'https://' : 'http://';
 $protocol = 'http://';

WordPress SSHでしかログインできない場合の自動更新

WordPress

WordPress SSHでしかログインできない場合の自動更新

WordPressにはWordPress自体のアップデートやプラグインのインストールや、テーマの変更など、FTP(あるいはFTPS)情報を求められることが多々あります。

しかし、FTPは脆弱性のもとになるので、サーバーに入れていないという方も多いでしょう。

そんな時のため、やっぱりすばらしきWordPress界にはそのためのプラグインがあったんですね!

SSH SFTP Updater Support
https://wordpress.org/plugins/ssh-sftp-updater-support/

これ、インストールしたら、FTPの情報を入力する画面に行くと、SSHの秘密鍵などの入力を求められますので、秘密鍵の情報などをアップロードします。

接続のポートが違う場合は、localhost:ポート番号 とやればOKです。

WordPress KDDIレンタルサーバーで画像がアップロードできない

WordPress

WordPress KDDIレンタルサーバーで画像がアップロードできない

KDDIさんがやってらっしゃるレンタルサーバー、KDDIホスティングサービスで、WordPressを利用する際の注意点です。

画像をアップロードしようとすると、

 “Chrysanthemum.jpg” は、エラーのためアップロードに失敗しました 
 ディレクトリ D:\CustomerData\webspaces\***/***/***/wp-content/uploads/2013/03 を作成できませんでした。
 この親ディレクトリのアクセス権はサーバーによる書き込みを許可していますか ?

というエラーメッセージが表示されます。

FTPソフトなどから権限を変更しようとしても、権限は000のまま、動きません。
調べてみると、下記にあるように、サーバーのディレクトリの権限の変更は、FTPソフトからできません。コントロールパネルにログインするしかありません。
http://www.kddi.com/pub/hosting-g/faq/list.html#faqF18

  1. コントロールパネルにログインしたら、左のタブで「ウェブサイト」→「ファイルマネージャー」をクリックします。
  2. サイトのあるところまで行き、下の画像にある、とても小さな鍵のアイコン画像をクリックすると、ディレクトリの権限が変更できます。

kddi_server.png

  1. 次の画面で、「アプリケーション プール アイデンティティ アカウント」と 「Anonymous Webユーザー」に書き込みを許可するようにチェックをつけます。

以上です。