0

WordPress用のプラグインを作成しようとしています。目標は、!--nextpage-->タグを移動する場所 (ページネーション) にショートコードを使用することです。次に、通常の訪問者 (ログインしていない) には投稿にページネーションを設定しますが、ログインしているすべての訪問者に対しては、投稿をこれまでになく続けます。ページネーションを見る(人々がメンバーになることを奨励するため).

問題は、ログインしたメンバーには何も表示しないようにすることはできますが、このコードを使用して、ログインしていない訪問者のページネーションを追加せずにページをロードすることです。そのため、ページネーションがなく、途中にリンクがあるだけでコンテンツ全体が表示されます。

正しくロードするには、何を微調整する必要がありますか?

function pagination_show( $atts = null ) {

    extract( shortcode_atts( array(
        'nextpage_text' => 'CONTINUED ON NEXT PAGE',
        'previous_text' => 'CONTINUED FROM PREVIOUS PAGE',
    ), $atts ) );
    $pagination = '';

    if(!is_user_logged_in()){
        $pagination = '<div class="plugin-pagination" style="overflow:auto;">';

        $next_post = get_next_post();
        if (!empty( $next_post )): 
            $pagination .= '<strong style="float:left;" class="nextpage"><em><a href="'.get_permalink( $next_post->ID ).'">'. esc_attr($nextpage_text) .'</a></strong></em><!--nextpage-->';
        endif;

        $prev_post = get_previous_post();
        if (!empty( $prev_post )): 
            $pagination .= '<strong style="float:right;" class="previouspage"><em><a href="'.get_permalink( $prev_post->ID ).'">'. esc_attr($previous_text) .'</a></strong></em><!--previouspage-->';
        endif;

        $pagination .= '</div>';
    }
    return  $pagination ;
}

add_shortcode('pagination', 'pagination_show');
4

1 に答える 1