Перейти к содержимому


Пользователь месяца
TimurR TimurR 1-й за Август
Очков активности: 726 3 темы, 35 сообщений, 11 баллов репутации
ТОП самых активных за этот месяц
  • Фотография ShowPrint
    #1

    ShowPrint (ShowPrint.ru)
    Очков активности: 207 2 темы, 17 сообщений, 6 баллов репутации

  • Фотография WGN
    #2

    WGN (worldgamenews.com)
    Очков активности: 72 Вне конкурса за определение пользователя месяца

  • Фотография Ixman
    #3

    Ixman (o5cat.ru)
    Очков активности: 72 0 тем, 8 сообщений, 6 баллов репутации

  • Фотография magnet
    #4

    magnet (rbfxdirect.com)
    Очков активности: 67.5 Вне конкурса за определение пользователя месяца

  • Фотография BLIK
    #5

    BLIK
    Очков активности: 33 Вне конкурса за определение пользователя месяца

  • Фотография AnnaYa
    #6

    AnnaYa (topbase.ru)
    Очков активности: 33 2 темы, 5 сообщений, 2 балла репутации

  • Фотография Developer
    #7

    Developer
    Очков активности: 31.5 2 темы, 15 сообщений, 1 балл репутации

  • Фотография Алексей111
    #8

    Алексей111
    Очков активности: 28.5 5 тем, 4 сообщения, 1 балл репутации

  • Фотография TimurR
    #9

    TimurR
    Очков активности: 27 Вне конкурса за определение пользователя месяца

  • Фотография fedornabilkin
    #10

    fedornabilkin (zaka4ano.ru)
    Очков активности: 24 0 тем, 4 сообщения, 4 балла репутации

  • Показать весь ТОП 10

Kwork.ru - услуги фрилансеров от 500 руб.

Поддержите форум! =)
Апдейты
  • Яндекс тИЦ: 19.11.2017
  • Яндекс выдача: 22.09.2018
Топ 5 участников по репутации


Хуки и Экшин генерации постов

#1 c0ns0l3

c0ns0l3
  • Неактивные
  • 264 сообщений
  • Репутация: 49
0

Отправлено 11 April 2012 - 13:18

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

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

То есть я имею авторизированного пользователя (его ID) пост, или группу к которой идет запрос, и значение полученное от своего класса - тру/фэлс на просмотр в частности - какой хук использовать что б при ФЭЛСЕ мне удалить из wp_query данный пост или категорию..?

 

 

  • 0

#2 c0ns0l3

c0ns0l3
    Topic Starter
  • Неактивные
  • 264 сообщений
  • Репутация: 49

Отправлено 13 April 2012 - 16:49

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

Реализовал.
Как сделать группы и распихивать по ним пользователей у всех будут свои способы.
Но в итоге, я добился этого и начал получать массив ID "рубрик" - Таксономий, к которым пользователь недолжен получать доступ.

Вид массива простой Array (3,5,12,37).

И вот самое важное, может кому то пригодится.

add_filter('list_terms_exclusions',array(&$pm_access,'hideTerms'),10,2);
public function hideTerms($exclusions,$args) {
		    if(!is_admin())
			    $exterms = $this->_get_term_exclusion();
// здесь я и получаю тот самый масив, в котором ID недоступных кат.
		    if(count($exterms)>0) {
			    $exclusions = str_replace(')','',$exclusions);
			    foreach ( $exterms as $exterm ) {
		   if ( empty($exclusions) )
		    $exclusions = ' AND  t.term_id <> ' . intval($exterm) . ' ';
		   else
		    $exclusions .= ' AND t.term_id <> ' . intval($exterm) . ' ';
		  }
			    $exclusions .= ')';
		    }
		    return $exclusions;
}

  • 1


Оформление форума – IPBSkins.ru