※弊社記事はたぶんにPRが含まれますので
話半分で受け取ってください。

WordPressの関数wp_list_authorsを修正してみたのですが

 WordPressのテンプレートタグ「wp_list_authors()」の挙動が変だったので修正してみました。これってバグですか?

 「wp_list_authors」は、Authorのリストを出すWordPressのテンプレートタグです。このテンプレートタグの詳しい使い方はこちら。

 日本語のドキュメントもありますが、英語の方のドキュメント見た方が早いので、結局、英語の方を見ちゃうんですよねぇ。てか、wikiの編集に参加しろって話ですよね。

 で、テンプレートをいじっているときに気がついたのですが、どうもテンプレートに

wp_list_authors('style=none');

と書いた場合に、リストが出てこないようです。ちなみにWordpress 2.8.5です。これってバグかしら?

 一応、この関数が入っているファイル「wp-includes/author-template.php」を開いてみたところ、なんとなく直せそうだったので直してみました。
 wp_list_authorsが定義されているのは、ファイルの最後の方で、修正したのは330行目です。

if ( !($posts == 0 && $hide_empty) && 'list' == $style )
  $return .= $link . '</li>';
else if ( ! $hide_empty )
  $return .= $link . ', ';

となっているのを以下のように修正しました。

if ( !($posts == 0 && $hide_empty) && 'list' == $style )
  $return .= $link . '</li>';
elseif ( !($posts == 0 && $hide_empty) || ! $hide_empty )
  $return .= $link . ', ';

 これで出るようになりました。でも、またなにか別の問題が出ているかもしれませんが。たぶん大丈夫だと思いますが。

 あとで検索してみたら、同じ問題を上げている人がいました。やっぱりこれ、バグみたいですね。

<?php wp_list_authors(‘style=none’); ?>
this fails to return author list
argument ‘style=list’ returns authors list
argument ‘style=’ sporadically returns authors list ( maybe 1 out of 100 )

WordPress › Support » new author style ‘none’ fails to return authors list

 そんなわけで、WordPressのバグフィックス出来たっぽいんですけど、これ、WordPressにフィードバックしたほうがいいんですかね?やり方とか良く分かんないんですけれども。

関連する記事