Author Archives: baudog

WordPress のカスタムフィールドで検索する時参考になったサイト

カスタムフィールドやカスタム投稿タイプを用いていると、キーワード検索する時も独自にクエリを作らないとうまくいかない。
そんな時に参考にするページは以下。

でも、これらを見ても、カスタム投稿タイプのタイトル文から一致するキーワードを検索する方法が載っていない。なぜなの?

ツイートツイート

WordPress のウィジェットに関する記述まとめ(途中)

Codex には「WordPress ウィジェット API」というページがあるがあまり詳しくない。

バージョン 2.8 からウィジェットの API が変わったそうで、このページからリンクされている記述を抜粋したのが以下

新ウィジェット API

WP_Widget は、ウィジェットプラグインを書くときの複雑さの多くを抽象化により解消するクラスです。特に複数利用できるウィジェットの作成に威力を発揮します。

  • 基本的には、WP_Widget を独自のクラスで拡張する。このクラスはコンストラクタおよび widget()、form()、update() の3つのメソッドから成る。
    • widget() – 実際のウィジェットのコンテンツを出力する
    • update() – 設定の保存を処理する
    • form() – 設定フォームを出力する
  • ウィジェットは register_widget() にそのウィジェットのクラスを渡すことによって登録する。
  • WP_Widget を使って書いた全てのウィジェットは複数のインスタンスを作成することが可能。
  • 設定
    • 古い単独インスタンスのウィジェットの設定は、WP_Widget に移植され、新しい複数設定保存の形式にアップグレードされる。これは単に、インスタンス ID をキーとする多次元配列の形式。
    • 古い単独インスタンスのウィジェットの設定はそのままで動作するはず。
    • もしカスタム設定の保存が必要な場合は、独自の et_settings() および save_settings() メソッドを提供できる。
  • WP_Widget ソースはこちらで見ることができます (詳細および使い方は phpdoc を参照): http://core.trac.wordpress.org/browser/trunk/wp-includes/widgets.php
  • 使い方の例はこちらで: http://core.trac.wordpress.org/browser/trunk/wp-includes/default-widgets.php
  • もし今までにウィジェットを作成した場合は、WP_Widget に移植し、改善のためのフィードバックを Trac Ticket 8441 に送ってください。
  • WP_Widget の基になった MultiWidget クラスに敬意を表します: http://blog.firetree.net/2008/11/30/wordpress-multi-widget/
  • 上記は Ryan Boren の wp-hackers への投稿から抽出した。

WordPress ウィジェット API も参照のこと。

 

 

 

ツイートツイート

WordPress で子テーマの CSS などを読み込ませたいときに注意すること。

WordPress で Javascript や CSS を記述したいときは header.php などを見ると wp_enqueue_style を使って記述されていると思う。

wp_enqueue_style( 'bootstrap',get_template_directory_uri().'/css/bootstrap.css','','','all');
wp_enqueue_style( 'bootstrap-responsive',get_template_directory_uri().'/css/bootstrap-responsive.css','','','all');
wp_enqueue_style( 'style',get_template_directory_uri().'/style.css','','','all');
wp_enqueue_style('prettyPhoto-css',get_template_directory_uri().'/css/prettyphoto.css','','','all');
wp_enqueue_style('custom-options',get_template_directory_uri().'/css/options.css','','','all');

この時、ファイルの頭に get_template_directory_uri() を付ければテーマのディレクトリパスが得られる。

さて、テーマをいじる際に定番なのが「子テーマ化」することだが、その場合、親テーマの header.php などはコピーした上でカスタマイズすることになる。で、注意するのが新たに独自の CSS や Javascript を追加する場合。
うっかりやってしまいがちなのが、以下のように wp_enqueue_style の行を単にコピペして、CSS ファイルの部分だけ書き換えたとき。

wp_enqueue_style('nincou',get_template_directory_uri().'/css/nincou.css','','','all');

このように、get_template_directory_uri() をそのまま使ってしまうと、CSS ファイルのディレクトリパスは親テーマのディレクトリパスになってしまう。もし、子テーマのディレクトリパスにしたいときは以下のように get_template_directory_uri() ではなく、 get_stylesheet_directory_uri() を使うと良い。

wp_enqueue_style('nincou',get_stylesheet_directory_uri().'/css/nincou.css','','','all');

参考サイト: http://ja.forums.wordpress.org/topic/11749 

ツイートツイート

ubuntu 12.04 で Git を使う

Windows7 がクラッシュしちゃって、修理出す暇もないから ubuntu 12.04 で何とか継続してるけど、やっぱ途中までやってたプロジェクトのリポジトリをどうにか ubuntu でも使えないかと色々調べたが・・・みんなコマンドベースで書いてあるので訳わかんないよーw

とりあえず、このサイトを参考に以下のコマンドを入力。

$ git config --global core.quotepath false
$ sudo apt-get install git-gui gitk

最初の行は日本語ファイル名を表示させるためのものらしい。
これはいいとして、次の行。これが何を意味するかは皆目分からないw。多分 git-gui と gitk をインストールしてる?のかなw
実行したら色々メッセージが出てきたけど、なにやら完了したみたい。なので git を動かしたいのだが・・・動かし方が分からないorz

「コマンドから動かす」なんて言うけど、コマンドを打つときは「端末」を機動してから入力するくらいしか分からない。
そしてその端末は「Dashホーム」から探すくらいしか。ところがだ! 時々「Dashホーム」から「端末」が消えるのはなんでなのだ?

ubuntu 使い始めて3週間ぐらい経つけど未だによく分からない
そうこうしてるうちに、なにやら Alt キーでコマンドが打てる状態になるらしいことが分かった。ふぅ・・・

で、ようやく gitk や git gui を起動できたが、リポジトリが表示されたりされなかったり、終いには gitk や git gui さえ起動できなくなったり。ホント訳分からん。

ツイートツイート

WordPress 3.1.4 から 3.5.1 へ自動アップグレードしたら・・・

客先のブログを WordPress で運用してるんだけど、今までのサーバの PHP や MySQL のバージョンが古かったため、バージョン 3.1.4 止まりだったのが、今度めでたくサーバ移設されて WordPress も最新バージョンに更新できるようになった。

ブログは3つあるけど、とりあえず投稿数が少なくてもしなんかあっても影響が少ないブログから先に更新してみることに。とはいっても、ちゃんと DB とファイルのバックアップを取ってから、おそるおそる自動更新のボタンをクリック。以下がその時の状況。

http://ja.wordpress.org/wordpress-3.5.1-ja.zip から更新をダウンロードしています…

更新を展開しています…(どきどき)

展開したファイルをチェックしています…(お、遅い)

最新のバージョンをインストールしています…(まだ遅い、大丈夫か?)

データベースをアップグレードしています…(おぉ、はじめてみるメッセージだ)

WordPress の更新を完了しました。(やったー!)

結構時間化かってドキドキだったけど無事終わって安堵。
で、ダッシュボードへ移動したのだが・・・おや?バージョンが変わってないがな!

あーん(泣)、バージョンの空きすぎでやっぱ無理だったか・・・
さて、どうしよ。 ここにある通り、ちょっと調べてから手動インストールすることになるのかな・・・

ってことで、その後は後日ご報告。

ツイートツイート

Ubuntu 12.04 で Dropbox をインストールする方法

Ubuntu ソフトウェアセンターからインストールしても何やらエラーが出て失敗するので、以下のページにあるように端末(コマンドライン)からインストールしてみようかな。

参考サイト: https://www.dropbox.com/install?os=lnx 

同じような人がいたw http://kouhoubk.blogspot.jp/2012/06/ubuntu-1204-ltsdropbox.html 

でも、以下のような記述もある。

クラウドストレージのUbuntu OneやDropboxを使用する方はインストール及び設定して下さい。
Ubuntu Oneは始めから入っています。
Dropboxは下記のコマンドで入ります。
sudo apt-get install nautilus-dropbox

んん、でも Synaptic パッケージマネージャからインストールしたらどうなるのかなぁとおもったので実行してみる。→なんとこれで OK だったw

そしてもう一つ勘違いしてたのは、launcher から Dropbox のアイコンクリックしてもウィンドウを表示しないのはそこでエラーが起こっているせいだと思ってたのだが、Dropbox 専用のウィンドウなんてなかったorz。ホームフォルダ開けばそこに Dropbox のフォルダがあるからダブルクリックで開けばいいだけのことだったという結末・・・。

ツイートツイート

Ubuntu 12.04 で hosts ファイルを編集する方法

サーバ移行時に DNS 切り替え前に新サーバでの動作確認を行うとき、手軽なのは自分の PC の hosts ファイルにIPアドレスとドメインを関連付けて記述することらしい。
http://ja.wikipedia.org/wiki/Hosts
http://www.gigaan.jp/support/web/hosts_rewrite.html

で、Ubuntu の場合 hosts ファイルは /etc/hosts にあるらしいのだが、自分 Ubuntu は使い始めてまだ 1週間なので、何をどうすればいいのやらw。そもそもファイルを見るときに起動するホームフォルダからは /etc なんて見れやしない・・・はて?

で、色々検索すると以下に記述があった。
https://forums.ubuntulinux.jp/viewtopic.php?id=5173

「端末」から $ sudo gedit /etc/hosts と入力すると、パスワードを聞かれた後に標準のテキストエディタ gedit が起動され、中身を編集できた。

記述方法は hosts ファイルの最下行辺りに xxx.xxx.xxx.xxx www.mydomain.com と追加すれば良い。

注意することは、DNS 切り替え後に元に戻すこと。

ツイートツイート

FTP で一括転送した画像を WordPress のメディアライブラリに認識させるプラグイン

訳あって Joomla! 1.5 から WordPress 3.5 へ移行しなければならなくなった。

WordPress のプラグインで Joomla からインポートしてくれるプラグインがあれば簡単なのだろう、きっと。探してみると Joomla 1.5 Importer などが見つかる。そう、ちゃんとした手順でエクスポートされたデータされあればそれらを使えば一発だ。
でもそうはいかない。だって Joomla の方はサーバのバックアップと MySQL のテーブルダンプしかないのだから。完全に人海戦術で移行するパターン。

移行すると言ってもそれぞれのデータベースに違いがあるので、記事データなどはコピペして貼り付け、画像データは 1 個 1 個アップロードしては記事に貼り付けなければいけないという面倒さ。記事は致し方ないとして、画像くらいは FTP で転送してから記事に貼り付けられないかと思ったわけです。

でもまぁ転送するにしたって、WordPress 形式のディレクトリ構成 /uploads/yyyy/mm にしたほうがいいので、転送前に画像を日付ごとのディレクトリに振り分ける作業を延々行って、さぁこれで FTP 転送すりゃあ OK だ! と思った。のだが、転送後、メディアライブラリにはなにひとつ表示されなかったorz。

色々調べると、通常 WordPress のアップロード機能でアップロードすると、画像とデータベースを紐つける作業を行っているようで、そうしないとメディアライブラリに表示されないらしい。あかんかぁ・・・

でも、それくらいはやってくれるプラグインありそうだなと思って探すと・・・ありました。wordpress flash uploader というプラグイン。
そこで狂喜乱舞するかと思えばさにあらず。そのプラグインでメディアライブラリに認識されるようになっても、サムネイルまでは作ってくれないということらしい。

でも待てよ、そういやサムネイルを再作成してくれるプラグインもどっかで見た記憶あり。
記憶をたどって探してみたら・・・あった。AJAX Thumbnail Rebuild というプラグイン。

と、ここまでたどり着いたものの自分では一切試していませんw ごめんなさい。
そう、完全に「誰か奇特な人がやって試してくれないかなぁ」状態なのです。そーいうことで、あとはよろしく!

ツイートツイート

Xserver へ Joomla 1.5.26 をインストールする際の不可思議な点

Xserver へ Joomla 1.5.26 をインストールする際の不可思議な点があったので記録する。

Joomla 1.5.26 をサーバへ転送し、インストールされたディレクトリにアクセスすると自動的にインストーラが開始されるのはご存知の通り。

で、ステップ 2 の「事前確認」において、「MB languageのデフォルト」が「いいえ」と出力されており、以下の文章も追記されている。
「PHP mbstring language が ‘neutral’に設定されていません。.htaccessに ‘php_value mbstring.language neutral’ を追加すると設定出来ます。」

そこで、元々あった htaccess.txt を開き、php_value mbstring.language neutral を最後に追加して、.htaccess にリネームするのだが、そうすると必ず「500 エラー}が出てしまうのだ。これはどういうことだろう。「php_value mbstring.language neutral」に文法的な間違いがあるのだろうか・・・
インターネットで調べても http://www.templatemonster.jp/joomla/#03 のようにちゃんと書かれているのだが・・・ 

しかたがないので、Xserver のコントロールパネルには php.ini を編集する機能がついているので、元々 Japanese が設定されているものを neutral に設定して保存すると、この部分をクリアした。しかし、php.ini はサイト全体に影響が及ぶので、ルートディレクトリに入れている WordPress に問題がなければよいのだが・・・

 

ツイートツイート

Ubuntu 12.04 で FileZilla がフリーズしたときの終了方法

Windows7 が逝ってしまわれたので、やむなく Ubuntu 12.04 インストールして不自由に仕事やってます。

で、Ubuntu で使える FTP クライアントソフトって何だろと探したら、やっぱり FileZilla でした。
でも、 FileZilla 時々フリーズしてくれるんですよね・・・なんでだろ

そんなときはこうしろと、以下のサイトが教えてくれた。
http://dbweb.0258.net/wiki.cgi?page=Ubuntu12.04%A5%E1%A5%E2#p7

まず 「Dash ホーム」から「端末」を起動。探しにくいときは上部にある検索ボックス欄に「端末」と打って調べましょう。
見つかったら起動して、そこから「killall filezilla」と入力すると終了できます。

ツイートツイート