【WordPress】ACFのアドオン「Date and Time Picker Field」で時間の入力間隔を変更する

WordPressのプラグイン「Advanced Custom Fields」のアドオンに「Date and Time Picker Field」という時間入力に使える便利なものがあるのですが、デフォルトでは入力スライダーが1ずつ加算されていくため、例えば10分間隔でパラメータを入力したいという場合には、そのままだとユーザービリティがあまりよろしくありません。

コードをチェックしてみると、どうやら「jquery-ui-timepicker-addon.js」というjQueryのコードをそのまま読み込んでいるようなので、Date and Time Pickerアドオンのjsディレクトリ以下にあるjquery-ui-timepicker-addon.jsをエディタで開き、stepの部分を任意のパラメータに変更すれば目的が達成出来そうです。(プラグインのコードを直接いじるとアップデートに対応出来なくなるため、あまりよろしくありませんが。)

例えばスライダーの分を10分刻みにしたい時は以下のように「stepMinute」を変更します。

[acf-field-date-time-picker/js/jquery-ui-timepicker-addon.js]

...
stepHour: 1,
stepMinute: 10,
stepSecond: 1,
stepMillisec: 1,
stepMicrosec: 1,
...

時間の入力間隔を変更したい場合は同様に「stepHour」のパラメータを変更すれば、設定した間隔でスライダーが動作するようになると思います。

【さくらのVPS】php-mbstringのインストール

WordPressの「WP Multibyte Patch」プラグインを動作しようとしたところ、「お使いの WP Multibyte Patch を有効にするには、PHP の mbstring 関数が必要です。」というエラーメッセージが表示されたため、以下のコマンドで「php-mbstring」をインストール…

sudo yum install php-mbstring

しようとしたら出来なかった。

検索したところ、remiリポジトリを有効にすればインストール出来るらしいと判明。
そういえばCentOS6.2の標準リポジトリにphp5.3.xが含まれてなかったのでremiからインストールしてた。

参考:Install PEAR Mail/Mime Dependency issues in pure EPEL installation

以下のコマンドで再実行。

sudo yum --enablerepo=remi install php-mbstring
...

Warning: RPMDB altered outside of yum.
  Installing : php-mbstring-5.3.12-1.el6.remi.x86_64                                                           1/1 

Installed:
  php-mbstring.x86_64 0:5.3.12-1.el6.remi                                                                          

Complete!

なんかWarning!が出てるがインストール出来たらしい。
以下のコマンドでApacheを再起動し、Webサーバを最新の状態に更新する。

sudo /etc/rc.d/init.d/httpd restart

再度プラグインを確認したところ、今度は正常に有効化できた。

Google Analyticator が復活!しかし設定画面が表示されないバグ(?)が発生

※Google Analyticator v6.3.3のバージョンアップにより、この記事は陳腐化しています。(2012.09.18)

以前のエントリーで少しだけ触れましたが「Google Analyticator」という管理画面のダッシュボードにGoogle Analyticsの簡易的なアクセス解析結果を表示出来るプラグインがあるのですが、GoogleのAPI更新に伴って、簡易的なアクセス解析が表示されないという問題が発生していました。

作者のRonaldさんは既に開発終了宣言を出していたため、個々人でなんとかするか、引き継いでくれる人にまかせるかといった状態でしたが、、、この度、なんとアップデートしてくたようです!素晴らしい!

が、私の環境(WordPress v3.4.2)では若干問題が発生。

なんらかのプラグインと競合しているのか、あるいはバグ(?)なのか、最新版にアップデート後、一旦、Googleの認証をリセットしないといけないようなのですが、どうやらパスの指定?がおかしいらしく「WordPressのアドレス」ではなく「サイトのアドレス」になっているため、プラグインのresetメニューからでは正常なページに飛びませんでした。(404が帰ってきます)

私の環境限定かもしれませんし、バグだとすれば恐らアップデートがかかるとのではないかと思うのでそれを待った方が良いと思います。

追記(2012/09/16):
問題を把握してくれているようなので素直に待った方が良いでしょう。
Broken if WordPress is installed in a sub-directory

ただ、まったく推奨しませんが、仮に症状が同じで待ってられないという方は以下の方法を試せば何とかなるかもしれません。

※FirefoxであればFirebug、Chromeであればデベロッパーツールなど、リアルタイムでコード編集が可能なツールが必要です。(別の方法もありますが) (さらに…)

今さら気付いた事

いつの間にかGoogleのキャッシュ表示にMacのコマンドキーの説明が追加されていた。

後、WordPressの「Google Analyticator」というダッシュボードにGoogle Analyticsの簡易的なアクセス解析結果を表示出来るプラグインがあるんですが、APIの仕様変更に伴って動かなくなってます。

 

フォーラムを見ると作者の方は大分前に開発終了宣言を出してて、誰か何とかしてくれ状態。

Dashboard widget no longer authenticates

 

最後の投稿に「MailChimp’s Analytics360」というプラグインを試してみろと載ってる。

 

過去に何件かお客さんに納品済みのものがあるんだけど、どうしたものかな。

 

超個人的な備忘録:Html KickStartをWordPressテーマに組み込みtheme my loginを有効にするとIEではエラーメッセージが表示されない

【原因】

kickstart.js に組み込まれている 「Placeholder plugin for jQuery」が原因っぽい。118行目付近の以下のjQueryを無効化すると正常になる。

//$('input, textarea').placeholder();

【追記:2012/02/15】

twitterのプロフィールウィジェットを組み込むとkickstart.jsの以下のコードが引っかかってページ自体が表示されなくなる。(バージョン0.91beta)

$('[class*=col_]').addClass('column').wrapInner('
');

上記のコードはHtml KickStartのレイアウトシステムの基盤であるため、プレースホルダーのように無効化することは困難。レイアウト外に書き込めばtwitterのウィジェットは正常に動作するが、レイアウトの修正が非常に面倒。

そのため、twitterのプロフィールウィジェットのみを表示するhtmlファイルを用意してiframeで読み込む事で対処した。

WordPressの外部リンクにクッションページを挟むプラグイン

「jump.php」などでおなじみですが、外部のサイトに遷移する前に「外部サイトに移動します」とか画面に表示されるムカつくアレです。
参考:http://www.hs-sec.co.jp/bluesky_net/pagejump_minkai.htm

神ならぬ身の知る由もない何らかの理由や、あるいはクライアントの希望により「どうしてもクッションページが必要なんだ!無理だと言うなら死ぬ!!」と言われてもWordPressなら大丈夫。以下のWordPressプラグインを使えば特にコードを修正することなく全ての外部リンクにクッションページを挟むことができます。
※ただし、テンプレートに直接書き込んだ外部リンクは無理。

WP No External Links

(さらに…)

【DMSGuestbookカスタマイズメモ】URLをハイパーリンクに変換

DMSGuestbookというWordPressの掲示板プラグインを使用していますが、

標準ではコメント投稿時にURLがハイパーリンクに変換されないようなので以下の方法で対処しました。

 

1.ハイパーリンクの識別

まず、ハイパーリンクを識別する方法ですが、これは以下のサイトにそのものずばりなコードが載っているのでそのまま流用します。

参考:URLを自動的にハイパーリンク設定 – 教えて!goo:

$proto = ereg_replace("(https?|ftp|news)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)","\\1\\2",$proto);

 

2.DMSGuestbookプラグインのテンプレートファイルを編集

次にDMSGuestbookプラグインのディレクトリ内の[dmsguestbook/template/post/deafault.tpl]ファイルをコピーして適当に[deafault2.tpl]とでもリネームします。

リネームした deafault2.tpl を開き、33行目あたりに以下のコードを記述します。

$message_text = ereg_replace("(https?|ftp|news)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)","\\1\\2",$message_text);

 

3.編集したファイルをサーバにアップロード後適用する

編集したテンプレートファイルは上書き保存後、サーバにアップロードします。アップロード後、WordPress管理画面からDMSGuestbookのオプション画面を開き、[Guestbook settings]-[Extended]の「Post template」項目にアップロードした deafault2.tpl を指定し、保存します。

 

上手く行けばDMSGuestbookに投稿したURL(原則http://から始まる)がハイパーリンクになります。

また、DMSGuestbookとは直接関係ないですが、以下のサイトも参考にしました。

 

参考:WordPressコメント欄URLを自動的にハイパーリンクにする。 | 煤式自動連結器:

 

最初はちょっと勘違いしていて、上記のサイトを参考にcomment_postをhookとするプラグインを作ってたのですが、よく考えたらDMSGuestbookはプラグインで、コメントを投稿してもcomment_postが働くわけないことに気付きました。

しょうがないので、テーマファイルをいじって掲示板を作り直そうかとも考えましたが、DMSGuestbookのファイルを除いてみたら簡単に修正できるようになってたので助かりました。

プラグインの作り方もなんとなくわかったので、近いうちに何か作ってみたいですね。

ゲストブックを設置

左上のメニュー一覧に「Guestbook」を追加しておきました。

勝手に使って下さい。

 

使ったプラグインはこれ。

DMSGuestbook

 

使い方はこちらのサイトさんに詳しく載ってます。

WordPressにゲストブックを設置 – DMSGuestbook >> 病的溺愛シンドローム

 

最初、場当たり的に適当に設置したらDatabase not Available!となって、

よくよく設定を確認してみたら、手動でテーブルを構築する必要があったので、

適当に設定したら適当に動くようになった。

 

CSSも日付表示も何もいじってないので、見栄え悪いです。

また、返信とか出来る仕様になってないようです???

 

あと掲示板とは直接関係無いですが、

表示が遅いのでそろそろ速度対策をしようかと思います。

 

wp-hatena の拡張版を導入

複数のソーシャルブックマークへの追加リンクを表示出来る wp-hatena プラグインを導入しました。

ためになる記事なんてまったく書いてないので、使われる事なんかまず無いと思いますが。

 

本家、wp-hatena はこちらへどうぞ。

今回導入したのはinoccoさんが改良した拡張版です。

使い方は簡単で、表示したいテーマファイルに以下のコードを埋め込み、プラグインを有効化するだけです。

 

if(isset($wph)) {
	$wph->addHatena();
	$wph->adddelicious();
	$wph->addLivedoor();
	$wph->addYahoo();
	$wph->addFC2();
	$wph->addNifty();
	$wph->addPOOKMARK();
	$wph->addBuzzurl();
	$wph->addChoix();
	$wph->addnewsing();
}

 

全部で10個のソーシャルブックマークに対応しています。

簡単でとても便利。

IT起業アカデミア