brooke
  • 0
Эксперт

Как скрыть/перенаправить страницу автора

  • 0

У меня есть веб-сайт, на котором я позволяю людям подписываться. Я хотел бы показывать страницу автора только для реальных авторов, которые написали сообщение. Я написал этот код, который проверяет публикацию, проблема в том, что я не могу использовать wp_redirect или включить шаблон, который его использует, потому что тогда я получаю всеми любимое сообщение «не могу переопределить заголовок заголовков». Я мог бы отобразить «У пользователя нет почтового сообщения, но я думаю, что перенаправление их на главную страницу автора — лучший вариант.

if ( is_author() ) : ?>

    <?php $id = get_query_var( 'author' );

    $post_count = get_usernumposts($id);
    if($post_count <= 0){ 
                 //This line could also be wp_redirect 
                 include( STYLESHEETPATH .'/author-redirect.php');
                 exit;
      }
endif;?>

Спасибо

Share
  1. Вы можете сделать это в более ранний момент, подключившись к нужному действию, например template_redirect, которое срабатывает прямо перед отображением шаблона.

    add_action( 'template_redirect', 'wpse14047_template_redirect' );
    function wpse14047_template_redirect()
    {
        if ( is_author() ) {
            $id = get_query_var( 'author' );
            // get_usernumposts() is deprecated since 3.0
            $post_count = count_user_posts( $id );
            if ( $post_count <= 0 ) { 
                //This line could also be wp_redirect 
                include( STYLESHEETPATH .'/author-redirect.php' );
                exit;
            }
        }
    }
    
    • 0
    • Круто, что случилось с этим названием функции, я знаю, что вы не хотите конфликтовать с другими плагинами, но это имя кажется нелогичным 🙂

      • 0
    • @BandonRandon: это вопрос WordPress Stack Exchange номер 14047. Я создаю плагин каждый раз, когда тестирую какой-то код, это помогает мне отделять их друг от друга. Иногда я вижу вопрос, который содержит код с номерами других вопросов, что дает мне намек на мыслительный процесс автора. И я надеюсь когда-нибудь увидеть некоторые wpseXXXX функции в официальном репозитории плагинов, которыми я буду гордиться 🙂

      • 0
    • Привет, мне было интересно, как этот код должен измениться, чтобы скрыть конкретного автора, а также все связанные с ним вещи, такие как сообщения, комментарии и их страницу автора. Я создал новый вопрос здесь wordpress.stackexchange.com/questions/20381/… Я думаю, это хорошая идея.

      • 0

Оставить ответ

You must login to add an answer.