さて、全国10万人のTwentyelevenファンの皆さん。承認していないコメントが表示されて困ったことがないでしょうか。ないですか、そうですか。手元では表示されてしまうので、とりあえず調べてみました。
どうやら、twentyeleven_comment関数で、コメントのcomment_approvedを見ていないのが原因ではないか、ということで対応方法を考えました。テーマはもちろん、「WordPress の子テーマ | hiro345」のようにして、Twentyelevenとは別テーマにして、ばりばりカスタマイズです。
twentyelevenでは子テーマでカスタマイズできるように、関数を上書きできるようになっています。ということで、子テーマにfunctions.phpを用意して、次のようにtwentyeleven_comment関数を独自のものにします。また、twentyelevenのfunctions.phpにあるtwentyeleven_comment関数をコピーして、twentyeleven_comment_originalという名前の関数として、自分のfunctions.phpへ追加しておきます。こうしておけば、twentyelevenのtwentyeleven_comment関数を利用できます。テーマ側で修正があったときには、こちらも修正が必要になりますが、まぁ、その程度は仕方がないということで。
function twentyeleven_comment( $comment, $args, $depth ) { if ($comment->comment_approved == 0) { return; } twentyeleven_comment_original( $comment, $args, $depth ); } function twentyeleven_comment_original( $comment, $args, $depth ) { $GLOBALS['comment'] = $comment; //略 }
以上で、簡単にカスタマイズができました。めでたし、めでたし。