WordPress ME Xoops Module 0.3.3 を使わせていただいています。たぶん簡単なことかと思うのですが、いろいろやってみてもどうしてもできないので、教えていただけないでしょうか。誰でも見ることはできるけど、コメントの投稿は登録ユーザーだけしかできない、というようにしたいのです。すみませんが、よろしくお願いします。
引用:たぶん簡単なことかと思うのですが、いろいろやってみてもどうしてもできないので、教えていただけないでしょうか。誰でも見ることはできるけど、コメントの投稿は登録ユーザーだけしかできない、というようにしたいのです。まず、ログインしているときのみコメント投稿フォームを表示するには、modules/wordpress/themes/xxxxx/comments-template.phpの25行目の <?php if ('open' == $post->comment_status) { ?> を <?php if (('open' == $post->comment_status)&&(!empty($xoopsUser))) { ?> に変更すれば良いと思います。ただし、このままだとwp-comments-post.phpを不正に利用すれば、コメント投稿が可能になるので、modules/wordpress/themes/xxxxx/wp-config-custom.phpの3行目に、 if ((empty($GLOBALS['wp_inblock'])) && strstr($_SERVER['REQUEST_URI'], 'wp-comments-post.php') && (empty($GLOBALS['xoopsUser']))) {exit; } という行を追加してゲストがwp-comments-post.phpを呼び出せないようにしてやれば良いと思います。とりあえず簡単にテストしてみました。
たぶん簡単なことかと思うのですが、いろいろやってみてもどうしてもできないので、教えていただけないでしょうか。誰でも見ることはできるけど、コメントの投稿は登録ユーザーだけしかできない、というようにしたいのです。
<?php if ('open' == $post->comment_status) { ?>
<?php if (('open' == $post->comment_status)&&(!empty($xoopsUser))) { ?>
if ((empty($GLOBALS['wp_inblock'])) && strstr($_SERVER['REQUEST_URI'], 'wp-comments-post.php') && (empty($GLOBALS['xoopsUser']))) {exit; }
テストまでしていただいて、ありがとうございました。上記のようにやってみたところ、非ログイン状態ではコメントフォームを出さないようにできました。実は、設定などで簡単にできるものと思っていたのですが、コメント投稿する時のNameも、Xoopsのユーザーとは無関係になっているのですよね。希望としてはさらに、Xoopsユーザー名でコメント投稿させたいのですが、他にもいくつか疑問点などあるので(というかまだあまり全体を把握していないところがあるので)、もう少し自分なりに調べてみます。また質問させていただくかもしれませんが、その時はよろしくお願いします。ありがとうございました。
このプログラムは KENT 氏の yybbs を xoops(PHP) に移植したものです - KENT -