Moral Hazard!!

ドラマーが音楽やホームページやガラクタを作るよ。

no future postsで未来の投稿を表示させたい

1 Comment wordpress,,

やりたいこと・・・投稿日付が未来の予約投稿を、wordpressに表示させたい。

「no future posts」というプラグインを使う。
最近wordpress3.01に対応したようだ。

・functions.phpに以下を追加する。
僕はwordpress3.0にアップデートしたタイミングで上記no future postsが対応していなかったため、こちらを使っている。

function forced_publish_future_post( $data, $postarr ) {
	if ( $data['post_status'] == 'future' && $postarr['post_status'] == 'publish' ) {
		$data['post_status'] = 'publish';
	}
	return $data;
}
add_filter( 'wp_insert_post_data', 'forced_publish_future_post', 10, 2 );

future_to_publishを使う
フォーラムに載っていたが、予約投稿の記事ごとに公開するかどうか決められるらしい。
便利そう。

contactform7を使用するページでのみ読み込む

1 Comment wordpress,,

wordpressにAjaxでメールフォームが作られる素敵プラグインcontactform7だが、初期状態では全てのページでjs,cssファイルが読み込まれる。
contactform7を使うページが限られていて、他のページで読み込まれるのが重い!とストレスで脱衣しそうな人は、止めれば良い。

説明はコチラに載っているが、若干トラブったので、補足する。

1、contactform7のjs,cssを読み込ませない。

まずwp-config.phpを開いて、

define ('WPCF7_LOAD_JS', false);

を挿入する。この時、

// 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。

というコメントより上に挿入しないと適用されない。

2、特定のページでのみcontactform7を動作させる。

例えばcontactform7を使いたいページのスラッグが"mail"だった場合、
<?php wp_head(); ?>より前

<?php if (is_page('mail')) { / ?>
 <?php
 wpcf7_enqueue_scripts();
 wpcf7_enqueue_styles();
?>
 <?php } ?> 

上記を読み込む。
こうしてやる事でスラッグ"mail"のページでのみ、contactform7のjsやcssが読み込まれる。
仮にカテゴリIDが23だった場合は、

<?php if (is_category('23')) { / ?>
 <?php
 wpcf7_enqueue_scripts();
 wpcf7_enqueue_styles();
 ?>
 <?php } ?> 

となる。
分岐方法と指定したいコンディショナルタグはコチラか、コデックスに詳しく載っている。

wordpressをiPhone対応させるプラグインWP touch

No Comment wordpress,,,

寝ても覚めてもiPhone、猫も杓子もiPhoneでさすがに持ってないとやばいだろう的風潮になってきていますが。
最近の口癖は「マジ氏ねiPhone」です。
ホームページをiPhone対応にするの大変(持ってないし)

iPhoneに搭載されているブラウザ(safari iPhone版)には色んな制限があって、パソコン版safariでは表示されるflashやjavascriptも使えないことが多いです。
appleがflashに対応させないのは、セキリュティに配慮しているという理由もあるらしいが、それでも不便・・・。
確かに昨年末猛威を振るったガンブラーウイルスはFlashやPDF Readerのセキュリティーホールを突いたものですし。

で、早速wordpressをiPhopneに対応させるプラグインがこちら。

WP touch

デザイン自体をiPhone用にカスタマイズしてしまうので、パソコンで作ったサイトデザインはほぼ意味をなさなくなりますが、iPhoneユーザーからは
「画面をいちいち拡大させないで良い!」
と好評です。なんてユーザーフレンドリー。(ユーザーフレンドリーって言いたいだけ)
(現状ではlightboxで拡大した画像を縮小出来ないみたい。調べ中)

さて、wordpress用プラグインを探す前に、普通のサイトをチェックする用のiPhoneエミュレーターを探していたんですが、

iBBDemo

というソフトがありました。
なんかPC版safariがインストールされていることが前提らしい。
safari3とsafari4とでダウンロードするところが若干違うので注意。
(英語で説明書いてるけど、safari4版は適当なフォルダに入った状態で起動させれば、dllが作られる)

このソフトは基本的にPC版safariを使っているので、実際には(2010年1月時点)iPhoneで表示されないFlashやjavascriptも表示されちゃう。
なので、cssや画面サイズをチェックするくらいに留まりそうです。

あと、こちらのサイトでもiPhoneエミュレーターがいくつか。

やっぱりiPhone買わないと駄目かなぁ・・・。かっこいいもんなぁ・・・。
日本のメーカーもっと頑張ってくれよう・・・。

(こないだビックカメラ行ったら、日本製パソコンや携帯が軒並みダサくて絶望した)

使用中のwordpress pluginと導入時の留意点

3 Comments wordpress,

使用中のプラグインをつらつらと。
Akismet、All in One SEO Pack、Contact Form 7、Google XML Sitemaps、Ktai Entry、Ktai Style、WP Multibyte Patchなど、ほぼ常識的に使われるものは割愛。
使っているのは特にインストールに難があるものは無いと思う。

基本リンク先のファイルをダウンロードして、プラグイン→新規追加→アップロードでzipファイルをアップロードしてインストールするだけ。
あと、wordpressのプラグインを山盛りにすると色々ぶつかり出すので、注意と対策を書き留める。

wp-lightpop

現在使用。詳細設定でrelの表示を編集できるのと、ポップアップ時の背景を選択できるところが良い。
Head Cleanerと同じ作者なので、どうせ使うなら同じ方が作っているモノの方が相性がよさそうだ。

PHP Speedy WP

lightbox系のプラグインなどを入れるととたんに重たくなるwordpress。
当サイトも例外ではなく、少しでも動作を軽くするためにキャッシュ系のプラグインを入れることに。
有名どころで"wp-super-cache"があるが、当環境では動かなかった上に、インストールされるadvance-cache.phpがどのftpソフトからも削除出来ないという事態に。
サーバーに問い合わせたら「そんなファイル無いけど?」と言われるが、リモート側に確かに見える。うぜぇ・・・。
このPHP Speedy WPは効果に疑問というブログをいくつか見かけたが、当環境では特に設定で手間取ることなく、早くなった「気」がするので不具合が出なければ入れておくことにした。
※2010/01/28追記 デフォルトではページ下部に広告が出るので、邪魔ならオプションで消すべし。

Advanced Columns

wordpressをいじる時にIDを見ることが多いが、何故かwordpressはそのIDが見難い。というか表示されない。
それを編集画面などに表示させるプラグイン。ソースは短いのでfunctions.phpに書いてしまってもいいかもしれない。

Disable wptexturize

wordpressが勝手に半角文字を全角に変更したりするのを止めさせるプラグイン。
これも作者様がソースを書いてるので、functions.phpに入れておいても良いっぽい。

Head Cleaner

wordpressの汚いヘッダを整理整頓してくれ、javascriptやcssも圧縮(gzipにも出来る)してキャッシュしてくれるスグレモノ。
※Lightbox Galleryが効かなくなる模様。WP lightbox 2は最初は効いていたが、ある日動作しなくなった。
ので試しに作者のをかもと氏のlightboxプラグイン「wp-lightpop」を試したところ、設定が細かく出来るのと、ポップアップ背景も素敵なものが選択可能だったのでそちらを使用。

SyntaxHighlighter Evolved

記事中にhtml,php,jsソースなどを書くときに、ソースコードをハイライト表示してくれるプラグイン。
同じタイプのものにSyntax Highlighter for WordPressがあるが、Lightbox Galleryと一緒にすると、二重に動作して画像がダブる。

Horizontal Calendar

横一列にカレンダーが表示される。

My Link Order

リンクの並び順を変えたり、ウィジェットに入れたり出来る。
数字が綺麗に羅列しているのを見ると興奮する人向け。

TinyMCE Advanced

記事を書く時に文字色やサイズをアイコンで選べるようになる。
こちらで日本語版を配布して下さっている。

youtube貼り付け

Viper's Video Quicktagsを使っていたが、専用ショートコードを埋め込まないといけないので後々メンテが面倒なのと、youtube不使用ページでもjavascriptを読み込み、(2010年1月30日時点)非常に重いので他のプラグインを探す。
Noembedderは使用ページに赤文字のエラーが出るので却下、現在Embed YouTube Videosを使用。

↓以下、当環境で挙動が不審になったもの。

Lightbox GalleryとWP lightbox 2
両方使用していて同一ページにギャラリーと普通の画像が混在するときにWP lightbox 2がダブって表示される。
※ギャラリー自体がktai_styleでも上手く表示されないので、一個ずつ画像をアップロードする事で回避。

Custom Query String Reloaded
カテゴリやシングルページごとにページの表示件数を設定できるプラグイン。
プラグインを停止すると、設定が消去される。
※別に不具合ではないが、表示が重いなどでプラグインを止める時は再開時に指定しなおすよう注意。