なるほど、確かにスパムリスクに関しては十分注意しないといけないですね。
ただ、一般ユーザー相手のお問い合わせフォームとして使う場合は、あまりハードルを上げてしまうと集客を切ってしまうことになるので、うまくバランスを取らないといけないですね。
あと、先ほど書いた「別の回避策」ですが、以下のようなコードを書いてみました。
function wpcf7_set_class_author_name() {
if ( !is_single() ) { return; }
$output[] = "\n";
$output[] = '<script type="text/javascript"><!-- ';
$output[] = 'jQuery(document).ready(function() {';
$output[] = "jQuery('.wpcf7_author_name').val('" . get_the_author_meta('user_nicename') . "')";
$output[] = " .attr('readOnly','true')";
$output[] = '});';
$output[] = '// --></script>';
echo join("\n", $output);
}
add_filter('found_posts', 'wpcf7_set_class_author_name');
これで、フォーム内に
[text author_name class:wpcf7_author_name class:hidden]
と書いて、フォーム経由で「投稿者名」を飛ばすようにしようと思います。
問題点等あれば、ご指摘頂けますようお願い致します。