Fatal error: Cannot redeclare filter_where() (previously declared in
なんの考えもなく「php code widget」プラグインでポスト内に「function filter_where(~」と記述したらエラー表示で怒られた。
<?php while ( have_posts() ) : the_post(); ?> <?php function filter_where($where = '') { $where .= " AND post_date >= '" . date('Y-m-d', strtotime('-90 days')) . "'" . " AND post_date <= '" . date('Y-m-d', strtotime('+0 days')) . "'"; return $where; } add_filter('posts_where', 'filter_where' ); ?> . . . . <?php endwhile; ?>
ループの中にfunction は書いてはいけないようです。分かってたつもりなのに、Widgetを使うとなんとなくできそうな気がしたのが間違い(←ココらへんが素人)。ループの中だと何度もfilter_where()関数が再定義されてしまいますね。しょっぱなのFatal errorは「重複は出来ません」という致命的エラーの意味ですかね。
