ログイン状態を判別してリダイレクトする方法
いくつかまえに参考になるスレッドがあるようですよ。
返信ありがとうございます。
紹介いただいたURLでは続きを読むを押した際の処理がよくわからないです。。
class.swpm-access-control.phpの
public function check_and_apply_more_tag_protection($post)
のapply_filtersのフック使うんですかね。
-
この返信は7年、 10ヶ月前にoisitが編集しました。
設定の仕方かテーマが対応してないような感じですかね。
正しく設定して、テーマが対応していれば、続きを読むは表示されないみたいですね。
お力になれずすいません。
いくつか方法がありますが、
・ログインしてなければ続きを読むという文字自体のリンク先を変更する
・記事にアクセスしたときに(続きを読むから飛んだかは関係なく)、自動的に会員登録ページへ移行する
主にはこの二つが考えられると思います。
上のほうが簡単なように思えますので、こちらについてはCodexを参照してください。
「続きを読む」のカスタマイズ – WordPress Codex 日本語版
ログイン状態でif分岐を作り、returnで会員登録ページへのURLを貼るだけです。
例としては
function modify_read_more_link() {
if (is_user_logged_in()){
return '<a class="more-link" href="' . get_permalink() . '">続きを読む</a>';
}else{
return '<a class="more-link" href="登録フォームのURL">未ログインです</a>';
}
}
add_filter( 'the_content_more_link', 'modify_read_more_link' );
こんな感じで実装できませんでしょうか?(テストできる環境にないので、必ずバックアップしてからご確認ください)
moreによる限定公開が選択されているかチェックして、
trueの場合、本文を<!–more–>で2分割し、
2分割以上されていれば、ログイン状態のチェックをして(あと二つ分岐があるけど)
moreより前の文章と続きを読むにはログインしてくださいという文章をかえすようにコード書かれてたので、
使い方の手違い等だと思いますけど。