Date:2010.12.6|Tags:
テンプレートタグのget_the_category()で記事のカテゴリ情報をPHPの配列として返してくれるものですが、記事が複数のカテゴリに属している時に、
返してくるカテゴリの順序がカテゴリの名前順になっています。

てっきりカテゴリIDの順だと思っていたので、サイトによって挙動が変わるので、
おかしいなと思っていて、定義されているファイルを見るとカテゴリ名でソートしていました( ̄ェ ̄;)

これをカテゴリID順で取得するように変更しました。
パンくずリストを表示するためのプラグインbreadcrumb-navxtも
get_the_category()でカテゴリ情報を取得していたので、
編集するのが面倒だったので、コアの定義ファイルを変更しちゃいました。
(場合によって、function.phpに定義するなどして下さい。)
wp-includes/category-template.php  99行目~100行目付近
usort( $categories, '_usort_terms_by_name' );//ここを変更
//↓
usort( $categories, '_usort_terms_by_id' );
これで、IDの昇順でカテゴリ情報が配列で取得できます。

ID降順の方がいい場合は、166行目の
function _usort_terms_by_ID( $a, $b ) {
	if ( $a->term_id > $b->term_id )
		return 1;
	elseif ( $a->term_id < $b->term_id )
		return -1;
	else
		return 0;
}
この部分を降順になるように変更するか、別に定義して、先ほどの100行目を修正します。
function _dsort_terms_by_ID( $a, $b ) {//ID降順バージョン
	if ( $a->term_id < $b->term_id )
		return 1;
	elseif ( $a->term_id > $b->term_id )
		return -1;
	else
		return 0;
}
100行目
usort( $categories, '_dsort_terms_by_id' );
Comment:0
Date:2010.12.4|Tags:
ホームページに写真を掲載したい時に、とっても便利なプラグインです。
写真枚数が多いとき、サイズを変更したり、サムネイルを作ったり管理するのが
大変ですが、このプラグインを使えば、ZIPファイルで一括アップロードもできて、サムネイルも自動生成してくれて、簡単に沢山の写真を掲載できます。
スライドショーにも対応していて、簡単なのにカッコよく表示できます。

こちらのhycko.blogさんでとても詳しく説明されているので、参考にさせてもらいました。

【使い方】
  1. プラグインをダウンロードしてくる。
  2. 日本語にするため言語ファイルをダウンロード
  3. nggallery-ja.moをnextgen-gallery/langフォルダへコピー
  4. /wp-content/plugins/ディレクトリにnextgen-galleryアップロード。
  5. プラグイン設定画面で有効化。
  6. 「ギャラリー」-「オプション」設定画面で、設定します。
続きを読む >>
Comment:0
Date:2010.11.21|Tags:
新しく作成したテーマを適用する前に、サイトでテストしたい時とか、
テーマを切り替えることで、なんかおもしろいことを考えついた時にオススメのプラグインです。

Theme Test Drive

【使い方】
  1. プラグインをダウンロードしてくる。
  2. /wp-content/plugins/ディレクトリにアップロード。
  3. プラグイン設定画面で有効化。
だけです。

ページの切り替えをしたい時に「URLに?thema=テーマ名orテーマディレクトリ名」を追加するだけです。
例えば「http://www.muchacolla.com/?theme=default

こんな感じです。
使い方によっては面白くなりそうですね。

「かゆいところに手が届く」系プラグインです。
Comment:0
Date:2010.11.21|Tags:
多言語サイト構築の依頼。日本語と英語で切り替え表示をしたいとのこと。

xlanguageというプラグインで上手く解決できました。

【使い方】
  1. プラグインをダウンロードしてくる。
  2. /wp-content/plugins/ディレクトリにアップロード。
  3. プラグイン設定画面で有効化。
  4. 「設定」-「xlanguage」の設定画面で、設定します。
続きを読む >>
Comment:0
Date:2010.11.11|Tags:
Pleskを利用しているサーバーでWEBだけのホスティングでDNSとメールを外部サーバーを利用する場合に、
DNSとメールサーバーを無効にしていると、qmailとかを使った同一サーバー上のお問い合わせフォームからのメール送信が宛先不明でエラーになる現象が発生。

メーラーからのメールは正常に届くのに、
なぜかお問い合わせフォームを使うと、そんなアドレスありませんと言われる。
メールサーバーを有効にして、そのメールアドレスを作成すると、
作ったメールアカウントにメールが届く。

心の声「qmailよ。なぜ、自分とこのサーバー内を探して結論をだすのじゃ。このドメインのDNSには何と書いてあったぞえ?」

—一応なぜか解決した方法。—
  1. DNSを無効にする前に、AレコードとMXレコードに外部で利用するネームサーバーの情報を入れる。
  2. DNSを無効にする。
  3. メールをスイッチオフにする。
DNSを単純に無効にするだけでは、デフォルトの設定が残ってしまう?みたい。
うちだけの現象かもしれません。

※2010/1/27追記
DNSの設定にPTRレコードがある場合、DNSを無効にする前に、それも削除しておかないと、
DNSを無効にしても他ドメインの受信メールのヘッダに逆引きでDNS無効にしたはずのドメインがランダムで表示されました。
(共有IPアドレスの場合)(^^;
Comments:2
Date:2010.11.11|Tags:
自作プラグインやfunction.phpで、データベースを利用したい時
<?php
 global $wpdb;
 $wpdb->prefix; //wp-config.phpで設定したテーブルの接頭語
 $wpdb->escape();//エスケープ関数
 $wpdb->query(SQL文);//クエリ実行して結果を返してくれる。
?>
<?php
//サンプル…こんな使い方はしないと思いますが。
 global $wpdb;
 $tablename = $wpdb->prefix."usermeta";
 $tablename = $wpdb->escape($tablename);
 $sample_id  = 200;
 $sample_id = $wpdb->escape($sample_id);

 $sql = "SELECT * FROM ".$tablename." WHERE user_id = ".$sample_id;

 $data = $wpdb->query($sql);

 foreach($data as $var){
 echo $var->umeta_id;
 echo $var->meta_key;
 echo $var->meta_value;
 }
?>
Comment:0
Date:2010.11.11|Tags:
ログインしているユーザーの名前を表示したり、ユーザーレベルによって分岐したい時。
<?php
global $current_user;
  get_currentuserinfo();

  echo $current_user->user_login;//ユーザー名
  echo $current_user->user_email;//E-mail
  echo $current_user->user_level;//権限レベル(数字)
  echo $current_user->user_firstname;//名
  echo $current_user->user_lastname;//姓
  echo $current_user->display_name;//ニックネーム
  echo $current_user->ID;//ユーザーID(数字)
?>
ユーザーのログイン状態で分岐する時。
<?php if($user_ID): ?>
ログインしている状態で表示したい事。
<?php else: ?>
ログインしてない状態で表示したい事。
<?php endif; ?>
Comment:0
Date:2010.11.11|Tags:
WordPressのカスタマイズやプログラムのデバッグ中、
変数の内容を確認したい時に「print_r」で出力するよりも見やすい超便利なデバッグツール。

http://dbug.ospinto.com/

使い方
  1. こちらのサイトのダウンロードでdBug.phpをダウンロードします。
  2. サーバーの任意の場所にアップロードします。
  3. 確認したい変数のあるPHPファイルに下のおまじない文を書いて、呼び出します。
  4. ブラウザでそのPHPファイルを確認すると、中身が分かりやすく表示されます。
//中身がでるでるおまじない
include_once("dBug.php");//ここでアップしたdBug.phpを呼び出して
new dBug($変数);//確認したい変数いれる
デバッグ中、意図した表示ができない時、すぐおまじない書きます。
データベースリソースにも使えるので、便利です。
続きを読む >>
Comment:0
Date:2010.11.10|Tags:
WordPressのサイトでSSLを使うなら、「Admin SSL」というプラグインを使うと便利です。

使い方。
  1. プラグインをダウンロードしてくる。(上記サイトの中央付近にDownloads)
  2. /wp-content/plugins/ディレクトリにアップロード。
  3. プラグイン設定画面で有効化。
  4. 「プラグイン」-「Admin SSL」の設定画面で、設定します。(設定画面の場所は変えられます)
続きを読む >>
Comment:0
Date:2010.11.10|Tags:
テンプレートタグの
<?php echo category_description(); ?>

をカテゴリページのテーマファイルに書き込むとその部分にカテゴリーで設定した説明が表示されます。
デフォルトではリンクタグくらいしかHTMLが使えませんが、imgタグで画像を挿入したり、
tableタグをがっつり使いたい時もあります。

カテゴリを登録する時に、自動整形されてしまうので、その部分を消してしまいました。

wp-includes/default-filters.php 29~37行目(WP2.9.2)
// Kses only for textarea saves
foreach ( array( 'pre_term_description', 'pre_link_description', 'pre_link_notes', 'pre_user_description' ) as $filter ) {
	//add_filter( $filter, 'wp_filter_kses' );←コメントアウト
}

// Kses only for textarea saves displays
foreach ( array( 'term_description', 'link_description', 'link_notes', 'user_description' ) as $filter ) {
	//add_filter( $filter, 'wp_kses_data' ); ←コメントアウト
}
これで、がっつりHTMLが使えます。
Comment:0
Page 4of6« First...23456