タグ: WordPress

PHPでスマートフォンとかを振り分け

レスポンシブでなんとかしたい場合とか用でメモUAで振り分けてパーツをゴニョゴニョしたかったのでどういう解像度でどんな風に見せるか、@mediaとかと相談しながら、下記のページとか眺めて妥協点を探りながら

function is_mobile() {
    $ua = array(
        'iPhone',
        'iPod',
        'Android',
        'Windows Phone',
        'blackberry',
        'DoCoMo',
        'KDDI',
        'SoftBank',
        とかお好みで
    );
    $pattern = '/'.implode('|', $ua).'/i';
    return preg_match($pattern, $_SERVER['HTTP_USER_AGENT']);
}
    

WordPressでアイキャッチ(投稿サムネイル)画像を登録している投稿だけ抜き出す

WordPressでアイキャッチ(投稿サムネイル)画像を登録している投稿だけ抜き出したかったのだけど、http://codex.wordpress.org/Template_Tags/query_postsとかhttp://codex.wordpress.org/Class_Reference/WP_Queryとか見ても載ってない(ように見えた)。英語自信なし。で、ググったら出てきた。WordPressのquery_postsまたはWP_Queryでアイキャッチ画像(Post Thumbnail)が設定されている投稿のみを表示する方法 | ちいさな創々

配列の場合

    'meta_key' => '_thumbnail_id'

文字列の場合

    'meta_key=_thumbnail_id'

英語でそのままググれば一発やったんやね。WordPress › Support » get_posts with thumbnail only

WordPressカスタマイズの小ネタ そのpタグ要りません!的なとき #2

記事の中でマークアップしたhtmlをコピペしようとすると、最後に必要のない</p>が入ったりする。最初っからpタグ外しちゃうプラグインとかも存在するらしい。
Disable wpautopでWordPressで邪魔なpちゃんを外しちゃいないよ | ワードプレス(WordPress)の個人的覚書
(使ったことないので、詳しくは知りません)その他にもコアな部分に手を入れたら、pタグ吐かなくすることも可能ではあるだろう。しかーし!WordPressカスタマイズ案件では、最終的には管理者は自分ではなかったりするので、ビジュアルエディタやHTMLエディタには手を入れたくない。
でも、過去のHTMLを入れないといけない場合とかもあったりして。とにかく挙動も一定してない。
参考:WordPress › フォーラム » Pタグの展開方法がおかしいpタグを人力で入れると、勝手には挿入しなくなるようですが、インデントとか付いてて改行があると最後に</p>タグが引っ付いていることもある。鋭い方ならおわかりかもしれませんが、そんな時は、改行をトルと出てこなくなったりもする。

あんまりBlog書かないからWordPressカスタマイズの小ネタでも無理矢理書いてみよう #1

みんな大好きWordPressの福岡での大イベントがいよいよ開催されちゃうようです。

WordCamp Fukuoka 2010

イベント名
WordCamp Fukuoka 2010
開催日
2010年2月27日(土)
場所
西南学院コミュニティーセンター
詳細は
WordCamp Fukuoka 2010のサイト見てね

なんと!プレイベントとして、2010年2月13日(土)の5:00pmからApple Store 福岡天神でWordPressワークショップが開催されるっつー話じゃありませんか。
詳しくは、Apple Store 福岡天神 ここのイベントカレンダーで見てください。

ループの書き方メモ

WordPressのループの例について詳しくはWordPressループの例 |The Loop – WordPress Codex 日本語版
この辺を参考にしてねっと。
WordPressのカスタマイズするときによくある、テンプレート内のループの記述で

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <?php the_content(); ?>
<?php endwhile; endif; ?>

みたいに、whileとifの終了を一度に書くと、エディタとかの自動フォーマットすると、

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
        <?php the_content(); ?>
    <?php endwhile;
endif; ?>

とかになっちゃうこととか多いと思う。
これは気持ち悪すぎるので、

<?php if (have_posts()) : ?>
    <?php while (have_posts()) : the_post(); ?>
        <?php the_content(); ?>
    <?php endwhile; ?>
<?php endif; ?>

と書くようにすると、自動フォーマットかけても、崩れない。
該当する記事がないときも、

<?php if (have_posts()) : ?>
    <?php while (have_posts()) : the_post(); ?>
        <?php the_content(); ?>
    <?php endwhile; else: ?>
    <p>Sorry, no posts matched your criteria.</p>
<?php endif; ?>

みたいにすればいい。

Cacoo for WordPressを使うメモ

かなり久々のエントリー。twitterの影響か?twitterもあんまりつぶやいてないけどもw
今年は気楽につまらんことでもブログに書こうと思う。
ってな訳で本題。

まずはCacooのアカウントが必要

知らない方向けに簡単な説明。
Web上で利用できるドローツールで、IllustratorとかFireworksより簡単で、複数人でも編集できるのがポイント。
Mac用のアプリケーション「OmniGraffle」を複数人で利用できるイメージ?(※あくまで個人の感想です)
詳しくは、下記のリンク先とか検索とかしてみてください。

アカウントが必要なので、持ってない方は取得してください。

Cacoo for WordPressのインストール

Cacoo for WordPressをダウンロードして解凍してください。
他のプラグイン同様、解凍したフォルダを

/wordpressのディレクトリ/wp-content/plugins/cacoo-for-wordpress

といった感じで配置してください。
WordPressにログインして、「プラグインの管理 」で、cacoo-for-wordpressを有効化させてください。
画面:プラグインの管理

投稿画面

上記のようにプラグインをインストールすると、投稿画面で、ツールの右端にCacooのロゴのボタンが出現します。
画面:投稿画面
Cacooボタンを押すと、投稿画面で前面に大きなダイヤログウインドウが出現します。
画面:ダイヤログウインドウ
このウインドウには、Cacooの画面が埋め込まれていて、その場で操作することも可能です。
Cacooの画像貼付けには、2種類あります。

  • Viewer
    画像の下部にCacooのツールバー、画像の周囲に経線があるパターンです。
    画面:Viewer例
    ツールバーには、複数シートのボタンがあり、画像をまとめて見せたいときなど便利だと思います。

  • Image
    通常のイメージとして、貼付けるパターンです。
    画面:Image例

Viewerでの貼付け

投稿画面でCacooのボタンを押した後で現れるダイヤログウインドウで貼付けたい図を選択します。
図を選択したら、【リンク】ボタンを押すと、各種URLが現れます。
Viewerで使用する場合は、『図の詳細画面のURL』という部分をコピーして、【URL】の部分に貼付けます。
画面:リンク(Viewer)
次に【Next】ボタンを押して、サイズ、テーマ、ツールバーの有無を指定します。
指定したら、【Insert】ボタンを押すと、投稿画面にCacoo用のコードが追加されます。
画面:コードインサート
慣れてきたら、わかる方は直接コード書いてもいいかと思います。

Imageでの貼付け

【リンク】ボタンを押して、各種URLが現れるところまではViewerのときと同じです。
Imageで使用する場合は、シートごとにしか貼付けられませんので、『各シートの画像URL』という部分をコピーして、【URL】の部分に貼付けます。
画面:リンク(Image)
次に【Next】ボタンを押して、サイズの指定をするのですが、Imageでの貼付けで注意すべき点は、サイズの指定です。
400×300などCacooプラグインが用意しているサイズを選ぶと、画像がそのサイズで指定されてしまいます。
かといって『custom』でサイズをなしにしてしまおうとすると、エラーになりますし、個別に指定するのもめんどくさいです。
私の場合は、一度、400×300で指定し、あとでWordPressの画像編集機能を使うようにしています。
まずは、400×300で指定すると、基の画像が400×300でない限りは横長か縦長の画像になります。
投稿画面にインサートされた画像をクリックすると、【画像の編集】ボタンが現れます。
画面:画像の編集
『詳細設定』タブをクリックして、【元のサイズ】ボタンを押すと、Cacooでの元々のサイズが反映されます。
縮小が必要な場合は、元々のサイズを反映させた後に80%等のサイズを指定してやるといいと思います。
そして【更新】ボタンを押すと、元のサイズ比率が反映された画像になります。
画像:サイズ反映後

WebサイトでCacooを使う場合の最大のメリット

最大のメリットは、画像を更新した場合、Cacoo側だけ更新すると、Webサイト側は修正する必要がない。ということでしょう。
※サイズが変更になると、修正が必要だとは思います。
Cacoo上で更新した例
画面:更新した例(Cacoo)
Webサイトに勝手に反映された例
画面:更新した例(WordPress)
例えば、アプリケーションの操作マニュアルなどで、バージョンアップに伴い、画面スクリーンの更新が必要だったりするかと思いますので、そのような場合に効果を発揮すると思います。
実はBacklogのマニュアルもCacoo for WordPressを使ってリニューアル予定です。

WordPress勉強会in福岡に行ってきた

WordBenchの中の人であり、有名なWordPressのフォームプラグインContact Form 7の作者であるMiyoshiさんが主催されたWordPress勉強会in福岡に行ってきた。
レポートは、こちらが詳しいw

いつものように雑感

  • 作者さんから解説聞けるとは贅沢だ
  • こういう勉強会もまたありがたい
  • フックはactionとfilter
  • プラグイン作成時はwp-includes/formatting.phpとかwp-includes/pluggable.phpは読んどけ的な
  • プラグインAPIの日本語ドキュメント充実してるじゃんかよー
  • プラグインでDB扱うには、add_option(),get_option(),update_option()
  • それだけ、ページビューあったらビジネスにならんものやろうか?
  • それだけダウンロード数あったらビジネスにならんものやろうか?
  • CMS関連でいつも思うのは、どれもそれなりに良さがあるので、一般的な最適解とかナンセンス。
    どれもよくできてるんだもんね。プロジェクトによっておすすめは違うな〜やっぱ。
  • 皆さん今後もよろしくです。