Как в WP вырезать из RSS ненужные части

(Ответов: 6, Просмотров: 835)
  1. Дипломник
    • Регистрация: 16.04.2011
    • Сообщений: 150
    • Репутация: 48
    Здравствуйте,

    Есть мысли монетизировать несколько сайтов в GGL. Так как сайты в Яндекс.Новостях, то хотелось бы вырезать из RSS размещаемые заметки, иначе боюсь можно "схлопатать по голове". Есть идея добавлять к записи свой тег, например <ggl></ggl> внутри которого заметка, а потом при генерации RSS вырезать его со всем содержимым. Но это как-то не очень красиво и удобно. Так как в WP я не силен спрашиваю тут: Есть ли какие-то готовые решения для подобного рода задачи? Если таковых нет, то может кто поможет советом?

    PS: с php знаком.
    • 0
  2. WP-R.ru - магазин WP Аватар для mojwp
    • Регистрация: 13.09.2011
    • Сообщений: 841
    • Репутация: 290
    • Webmoney BL: ?
    в functions.php помещаем следующий код
    Код:
    function myFilter($query) {
    if ($query->is_feed) {
    $query->set('cat','-2'); // заменяем 2 на ID вашей категории. Если несколько рубрик, то: -2, -3, -n
    } return $query; }
     
    add_filter('pre_get_posts','myFilter');
    на моем блоге все работает

    Забыл сказать, что для ggl создайте новую рубрику, которую и исключите из rss
    Последний раз редактировалось mojwp; 01.10.2011 в 19:29. Причина: дополнение
    • 1

    Спасибо сказали:

    FullHouse(02.10.2011),
  3. Дипломник
    • Регистрация: 16.04.2011
    • Сообщений: 150
    • Репутация: 48
    Спасибо за совет, но хотел бы в уже существующих категориях размещать заметки, так как считаю такой подход более эффективным(траф и seo-эффект) и честным для людей заказывающих услугу + будет выглядеть более естественно.
    • 0
  4. Дипломник
    • Регистрация: 16.04.2011
    • Сообщений: 150
    • Репутация: 48
    Проблема решена через Произвольные поля.

    1. Заходим в редактирование записи
    2. В верхней правой части экрана нажимаем на опции отображения и ставим галочку напротив Произвольные поля
    3. В появившемся, под основным блоком редактирования записи, блоке Произвольные поля выбираем добавить новое(в дальнейшем надо просто выбрать из выпадающего списка).
    4. Заполняем имя GGL и значение наша заметка. Ссылку необходимо прописать HTML кодом вида <a href="#">анкор</a>
    5. Сохраняем запись
    6. Переходим к редактированию шаблона: Дизайн > Редактирование > Одиночная запись(single.php)
    7. Находим код the_content('');
    8. Сразу под ним размещаем:
    PHP код:
    if (get_post_meta($post->ID'GGL'true) != '') {
    echo 
    get_post_meta($post->ID'GGL'true);} 
    Всё, готово! Может кому пригодится.
    • 1

    Спасибо сказали:

    Zvеr(03.10.2011),
  5. Banned
    • Регистрация: 31.08.2011
    • Сообщений: 231
    • Репутация: 12
    • Webmoney BL: ?
    Возможно глупость скажу, но почему бы не воспользоваться плагином:
    "Advanced Category Excluder"
    Которы создан как раз для того, что вам нужно.
    • 0
  6. Дипломник
    • Регистрация: 16.04.2011
    • Сообщений: 150
    • Репутация: 48
    Цитата Сообщение от Valenok Посмотреть сообщение
    "Advanced Category Excluder"
    Насколько я понял из описания данного плагина он делает то что описал mojwp. Передо мной стояла, несколько, иная задача.
    • 0
  7. Banned
    • Регистрация: 31.08.2011
    • Сообщений: 231
    • Репутация: 12
    • Webmoney BL: ?
    Ну тогда извеняюсь)
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
реализация тех. части сайта.
Создание сайтов 0 17.09.2011 19:32
Делим экран на 2/4 части.
Оффтоп и свободные темы 4 12.08.2011 00:08
помогите удалить ненужные сттраницы из гугла
Google 8 14.06.2011 23:33

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры