mojwp.ru
Назад

Хаки WordPress - как не показывать записи рубрики на главной странице и в RSS

Опубликовано: 14.05.2012
46
4986

В данной статье я предлагаю вам небольшой код, который позволяет исключить отображение записей из выбранной вами рубрики на Главной странице сайта и в ленте RSS.

Если кто еще не понял всей полезности данного хака, то сейчас поясню: Вы можете спокойно размещать на своем блоге оплаченные статьи, либо записи под постовые. При этом постоянные читатели блога не будут их видеть, пока сами не выберут рубрику в вашей навигации по сайту.

Теперь вы можете спокойно регистрироваться на биржах и зарабатывать деньги путем размещения статей и постовых (хоть по 100 штук ежедневно). Я свои сайты монетизирую через следующие биржи: Биржа раз | Биржа два | Биржа три | Биржа четыре

Для работы нам понадобится файл functions.php, который вы можете найти у себя на ftp в папке с шаблоном.
[infob]Не забывайте делать резервные копии файлов, с которыми будете работать. Данный шаг позволит "откатить" изменения, если сделаете что-то не так.[/infob]

Все мы знаем, что естественные ссылки на сайт позволяют продвигать позиции ключевого запроса в поисковой выдаче. Такие сервисы, как e-linker.ru позволяют автоматизировать работу и избавить себя от рутинной работы. Освободившееся время можно посвятить созданию нового проекта.

Итак, открываем файл functions.php и в самом конце, перед знаком ?>, вставляем следующий код:

// фильтр рубрик
function hidecategory($query) {
if ($query->is_feed || ($query->is_home && !(is_paged())))
	{$query->set('cat','-48, -54');}
return $query; }
add_filter('pre_get_posts','hidecategory');
// конец фильтра рубрик

Чтобы исключить определенную рубрику, необходимо указать ее ID (идентификационный номер) в строке 4. Сейчас у меня там для примера указаны рубрики 48 и 54.

Чтобы узнать ID необходимой рубрики, нужно пройти в админку сайта и в консоли Записи ► Рубрики навести мышку на необходимую. После того, как мышка стоит на исключаемой рубрике, следует посмотреть в нижний левый угол браузера и увидим примерно следующее:

как узнать id рубрики

На картинке ID=15 (под стрелкой) и есть искомая цифра, которая должна занять место в представленном выше коде.

Теперь остается сохранить изменения и закачать файл functions.php обратно на хостинг.

Автор:
Виталий
Поделиться
Похожие записи
Черкани пару строк
  • Татьяна
    Опубликовано: 14.05.2012 Ответить на сообщение

    Виталий, Вы мастер!!! По этому поводу у меня вопрос, я училась в школе Старт-ап, где преподаватели не рекомендовали регистрироваться на биржах. Вы можете прояснить эту ситуацию в одной из своих статей, в чём тут фишка?

    • mojWP
      Опубликовано: 14.05.2012 Ответить на сообщение

      когда продаешь через свой сайт постовые или ссылко-место, то есть шанс попасть под какой-нибудь фильтр со стороны ПС.
      Но, с другой стороны, обратите внимание, что подавляющее большинство топовых seo-блоггеров продают постовые и целые заказные статьи, при этом не боятся получить санкций.
      По всей видимости вас пугали, чтобы сразу не ринулись размещать на своем сайте большое кол-во внешних продажных ссылок. Все же молодой сайт должен получить некое доверие со стороны ПС, чтобы потом размещение подобных ссылок не каралось.

      К тому же, пока на ваш сайт не появляются естественные ссылки, которые размещают читатели на добровольной основе, то надо практиковать следующее: продал 1-2 ссылки - купил 1 на свой сайт (можно подешевле). Т.е. как-то "возместить потери"

  • seogrot
    Опубликовано: 14.05.2012 Ответить на сообщение

    Как-то тоже писал по этой теме пост, правда убирал записи заданной категории только с главной, в принципе всё просто и понятно.

  • Павел
    Опубликовано: 14.05.2012 Ответить на сообщение

    А биржи не банят за такое?

    • mojWP
      Опубликовано: 14.05.2012 Ответить на сообщение

      нет.
      они не требуют обязательного отображения на главной или в rss.
      вебмастера сами указывают обязательно ли такое к выполнению.

  • Дмитрий Жуков
    Опубликовано: 15.05.2012 Ответить на сообщение

    Исключения статей по ID рубрики из анонса - полезная штука. Но есть пара но. Первое: посетители обычно НЕ посещают рубрики, следовательно, постовые они не увидят. От этого ценность таких рубрик снижается. И второе. Если такие рубрики открыты для поисковиков - то поисковый робот проиндексирует ссылки, и может сделать неправильные выводы. А если рубрика закрыта от индексирования - то и страниц этой рубрики нет в индексе, следовательно, ценность ссылок с таких страниц - НОЛЬ.
    Так что - при открытой для индексации рубрике всё же присутствует шанс, что поисковик наложит на сайт санкции. Тем более, если из одной конкретной рубрики будет ссылок больше, чем со всех остальных.
    А во всём остальном - тема, конечно же спорная и не однозначная.

    • mojWP
      Опубликовано: 15.05.2012 Ответить на сообщение

      по всей видимости Вы не поняли для чего подобное делается.
      Второй абзац статьи дает ответ на вопрос, для чего данный хак может пригодиться.

      • Дмитрий Жуков
        Опубликовано: 15.05.2012 Ответить на сообщение

        Со всем уважением, но я понял, для чего это делается.
        Платные статьи и постовые служат для двух вещей: а) - привлечения дополнительного трафика через эти статьи и постовые, но тогда предусматривается по определению, что люди должны их читать, а при отсутствии анонсов и пиара (например, через субскрайб) - этого не происходит; и б) - для передачи ссылочного веса через ссылки на страницы-акцепторы (на которые они ссылаются).
        Я не оспариваю качество выкладываемых Вами статей, я лишь сомневаюсь в полезности самого метода, как такового, и утверждаю, что его значение и последствия Не однозначны.

        • mojWP
          Опубликовано: 15.05.2012 Ответить на сообщение

          красиво пишите.

          Только снова не прочитали второй абзац. Данный шаг делается в основном, чтобы постоянные читатели не видели продажные статьи, либо статьи, написанные вами специально для постовых.

    • despero
      Опубликовано: 18.12.2012 Ответить на сообщение

      абсурд полный полгода юзаю данную фишку (ну не совсем данную но принцип тот же просто у меня рубрик дофига а на главную выводится только одна рубрика) так вот , посетители заходят с поисковика и смотрят то куда их гоша зафутболил ну и сооветственно публикации по теме , вобщем все зависит от специфики сайта . у меня рубрики к примеру это города , если чела который по своему городу ищет инфу гугль на мой сайт запинал то человек и будет смотреть все по своему городу (рубрике) . а поисковикам вообще настрать проверено опытом , кстати я вообще свежие публикации не только на главную невывожу но из рсс убрал что бы школота всякая на доры не растацила контент . как результат на блоге которому полгода посещаемость больше тысячи чел. в сутки - замечу что для внешней оптимизации неделал ничего , не одной ссылки не покупал ни с кем не менялся

  • Дмитрий Жуков
    Опубликовано: 15.05.2012 Ответить на сообщение

    Интересно, а какой смысл в продажных статьях,если их не видят и не читают? Хех...

    • mojWP
      Опубликовано: 15.05.2012 Ответить на сообщение

      так и быть, попробую шокировать вас:
      такие биржи, как Miralinks и Liex, помогают найти оптимизатора и вебмастера для размещения статей. Есть такой способ продвижения, как "статейное".

      На этом закрывается обсуждение данного вопроса, т.к. вы больше напоминаете "троля"

  • brainscot
    Опубликовано: 15.05.2012 Ответить на сообщение

    Статья интересная и методика в ней описана действительно полезная. Очень хорошо, что реализация сделана без использования плагинов.
    Интересует один вопрос - скрываются ли такие посты при кросспостинге?
    Имеется в виду ситуация, когда текст сообщения для кросспостинга берется не из RSS, а непосредственно из поста от начала до тега "more"

    • mojWP
      Опубликовано: 15.05.2012 Ответить на сообщение

      к сожалению, сказать по этому вопросу ничего не могу, т.к. кросспостом не занимаюсь и не знаю, с помощью чего вы делаете подобное.
      Буду признателен, если попробуете и скажете о результатах здесь.

  • Апчхи
    Опубликовано: 17.05.2012 Ответить на сообщение

    У меня есть вопрос:
    В конце файла есть
    }

    ?>

    Можете поставить знак "!" туда, куда нужно вставлять код?

    И можно как-то сделать, что б статьи из рубрики показывались на отдельной странице лентой, воссоздать, так сказать, главную страницу №2?

    • mojWP
      Опубликовано: 17.05.2012 Ответить на сообщение

      про восклицательный знак не понял. В статье написано, что вставляется предложенный код прямо перед закрывающим ?> в файле functions.php

      Статьи и будут показываться лентой в рубрике, которую скрываем с главной (если шаблон так выводит остальные рубрики). Название этой рубрики будет выводиться в меню Рубрики (у меня такое слева с названиями)

      • Апчхи
        Опубликовано: 17.05.2012 Ответить на сообщение

        про восклицательный знак: Дело в том, что я поставил перед ?>, и у меня перестал работать сайт, пока я не убрал вставку. Попробовал около него ставить, тот же результат - сайт не работает, пока код не уберу. Вот и спросил, где ставить надо.

        Статьи: дело в том, что по задумке мой блог должен был быть из двух частей: статей и музыки. С одной частью я справился, а вот с другой... Я хочу, что б отдельно была страница "Главная", где будут статьи, и "Музыка", где будет только музыка, и что б страницы размещались вверху (как главная) и каждая имела свою ленту (хотя сейчас, после нескольких дней безрезультатного труда, готов согласиться и на то, что б ленту музыки можно было б увидеть и в "Рубрики"). Поэтому, буду очень благодарен, если вы расскажите(очень подробно) куда именно нужно вставить код.

      • Апчхи
        Опубликовано: 20.05.2012 Ответить на сообщение

        Ломал голову над кодом и заметил интересные рядки "// фильтр рубрик". Можете объяснить что это и как их ставить, так как в гугле ничего про них нет.

        • mojWP
          Опубликовано: 20.05.2012 Ответить на сообщение

          это комментарий к коду, который можно убрать, если не нравится.

          я всегда делаю подобный комментарии, чтобы в случае необходимости не ломать голову при поисках нужной части кода.

  • Saaresto
    Опубликовано: 20.05.2012 Ответить на сообщение

    А существуют плагины для упрощения процесса? Или лучше не загромождать сайт десятками плагинов? Есть отрицательное влияние плагинов на скорость работы сайта?

    • mojWP
      Опубликовано: 20.05.2012 Ответить на сообщение

      уверен, что плагин существует.

      чем больше плагинов на сайте установлено, тем больше нагрузка на сервер.

  • mult
    Опубликовано: 27.05.2012 Ответить на сообщение

    это же, в принципе, можно сделать и произвольными меню? единственно мороки немного больше, зато в код ненадо лезть 🙂

    • Виталий
      Опубликовано: 30.05.2012 Ответить на сообщение

      а не желаете написать гостевой пост на эту тему?
      буду рад опубликовать на сайте с ссылкой на автора

      • mult
        Опубликовано: 02.06.2012 Ответить на сообщение

        смуту внес некоторую. немного не так понял задачу. без правки кода (фильтр или свой шаблон дефаулт страницы) или плагинов, штатными средствами, наверное, и не сделать.

  • Мудрый Кот
    Опубликовано: 31.05.2012 Ответить на сообщение

    Странно, у меня почему-то не работает. Код вставил, а не фурычит...
    Раньше плагин стоял, но он слетел и блог с собой забрал, теперь ищу аналоги, но пока что безуспешно...
    Не знаете в чём проблема с кодом может быть?

    • Виталий
      Опубликовано: 03.06.2012 Ответить на сообщение

      вышлите скриншот чашки с остатками кофейной гущи, чтобы я погадал и определил проблему на расстоянии.

  • Sueno
    Опубликовано: 08.06.2012 Ответить на сообщение

    Как все гениальное сложно, Виталий а можно вопрос? Если хоть по 100 статей в день с постовыми? АГС неминуем?

    • Виталий
      Опубликовано: 08.06.2012 Ответить на сообщение

      Хороший вопрос!!!
      Его следует задать службе поддержки Яндекс, т.к. только они могут сказать, как работает их алгоритм и в каких случаях накладывает санкции.

      Если я отвечу на Ваш вопрос "Да", то не ошибусь. Аналогично я не ошибусь, если отвечу "Нет".

  • Denis
    Опубликовано: 24.06.2012 Ответить на сообщение

    Хороший способ, чтобы читателям не мешало читать блог по RSS. Сегодня только начал читать блог, но уже нашел не мало интересного для себя. Спасибо, Виталий! ))

  • BlackRockRonin
    Опубликовано: 10.07.2012 Ответить на сообщение

    Виталий, сейчас в кодексе написано:

    Exclude Categories From Your Home Page
    Placing this code in index.php file will cause the home page to display posts from all categories except category ID 3.

    You can also add some more categories to the exclude-list (tested with WP 3.3.1):

    Вы не пробывали сделать таким способом исключение рубрик с главной страницы?

  • BlackRockRonin
    Опубликовано: 10.07.2012 Ответить на сообщение

    Странно, код не прошел ((

    вобщем вот ссылка на официальный кодекс: http://codex.wordpress.org/Function_Reference/query_posts#Exclude_Categories_From_Your_Home_Page

  • Pavel
    Опубликовано: 26.07.2012 Ответить на сообщение

    Вещь очень полезная! Я не вывожу на главную страницу некоторые статьи, которые предназначены исключительно для блоггеров. Использую для этого плагин какой-то.

  • sputres
    Опубликовано: 02.09.2012 Ответить на сообщение

    Мне как раз здесь это и пригодилось, спасибо. убрал текстовый вывод новостей на главной

  • Сергей
    Опубликовано: 11.09.2012 Ответить на сообщение

    Спасибо огромное за код, очень помог, все отлично работает, еще раз Спасибо.

  • igbur
    Опубликовано: 13.09.2012 Ответить на сообщение

    Спасибо, то что искал, пойду проверять на своем блоге)

  • evgenij
    Опубликовано: 19.10.2012 Ответить на сообщение

    спасибо за статью!очень помогло!!!!!!!!

  • Евгений
    Опубликовано: 01.12.2012 Ответить на сообщение

    Интересует Ваше мнение: влияет ли такое вмешательство в код на индексацию самой статьи поисковыми системами?

    • Виталий
      Опубликовано: 01.12.2012 Ответить на сообщение

      статьи нет. главной страницы - да!

  • algin
    Опубликовано: 16.12.2012 Ответить на сообщение

    Пользуюсь плагином WP Hide Post - просто и со вкусом))

  • Александр
    Опубликовано: 18.12.2012 Ответить на сообщение

    Спасибо очень помогла статья!

  • Ярослав
    Опубликовано: 24.04.2013 Ответить на сообщение

    Спасибо за код и пояснения! очень помогли!

  • Евгений Летов
    Опубликовано: 21.11.2013 Ответить на сообщение

    Виталий, я сделал по вашему совету на этом сайте http://hellomoda.ru/. Теперь при пагинации на 2-ой и далее страницах появляются посты из скрытых рубрик.

    Как быть?

    • Виталий
      Опубликовано: 22.11.2013 Ответить на сообщение

      Странно. В коде идет исключение пагинации. Нужно видеть код.

      • Евгений Летов
        Опубликовано: 22.11.2013 Ответить на сообщение

        Виталий, вот код:

        // фильтр рубрик
        function hidecategory($query) {
        if ($query->is_feed || ($query->is_home && !(is_paged())))
        {$query->set('cat','-13, -14, -15, -16');}
        return $query; }
        add_filter('pre_get_posts','hidecategory');
        // конец фильтра рубрик

        А вот скриншот: http://screenshot.su/show.php?img=39e15276d5cb4d5f46363a6f54543b35.jpg

        • Виталий
          Опубликовано: 22.11.2013 Ответить на сообщение

          Благодарю. Но я имел ввиду не свой код.

          • Евгений Летов
            Опубликовано: 22.11.2013 Ответить на сообщение

            Виталий, вы имеете ввиду реквизиты доступа к исходникам?

            Если у вас есть время посмотреть, я могу вам их скинуть

Имя
Укажите своё имя и фамилию
E-mail
Без СПАМа, обещаем
Текст сообщения
Отправляя данную форму, вы соглашаетесь с политикой конфиденциальности и правилами нашего сайта.