Пишу к профи с вопросом:
Хочу реализовать функционал на сайте через BuddyPress для того чтобы человек мог подписаться на определенную страницу и следить за ней через свой профиль:
То есть страница с каким нибудь мероприятием и на ней есть кнопка я пойду, при ее нажатие в моем профиле появляется список всех мероприятий на которые я согласился пойти, где нажал на кнопку, так же я могу отменить нажатие этой кнопки (отказаться пойти на мероприятие).
И на странице самого мероприятия появляется моя аватарка или мое имя.
Я смог реализовать практически все это основываясь на плагине Wp-favorite-post с помощью кода и методом проверок смог вывести аватарки пользователей тех кто нажал на эту кнопку и в профиле пользователя создал страницу куда попадают все его мероприятия.
Теперь когда я захожу в другой профиль пользователя там опять же показывается мой список скорее всего потому что функция определяет список залогиненого пользователя, а не просматриваемого. Затем хочу чтобы формировался не один список, а два или три списка в зависимости от категории где находился пост или страница.
А теперь ребят вопрос такой сколько стоит доработать этот плагин и мой код потому что я в тупике, и если написать новый плагин для всего этого сколько это будет стоить?
И если там ерунда это сделать поможете ли советом? Интересно было бы самому конечно разобраться, но готов заплатить сколько потребуется в пределах разумного.
https://ru.wordpress.org/plugins/wp-favorite-posts/ - ссылка на плагин!
А так же код с помощью которого я реализовал вывод имен тех кто нажал на кнопку!
function __favorites($id_post) {
global $wpdb;
$users = $wpdb->get_blog_prefix() . 'users';
$user_meta = $wpdb->get_blog_prefix() . 'usermeta';
// делаем запрос
$favorites = $wpdb->get_results("SELECT ID FROM {$users} LEFT OUTER JOIN {$user_meta} ON {$user_meta}.user_id = {$users}.ID
WHERE {$user_meta}.meta_key = 'wpfp_favorites' AND {$user_meta}.meta_value LIKE '%{$id_post}%'", ARRAY_A);
return $favorites;
}
function onwp_get_favorites($id_post) {
$users = __favorites($id_post);
if (!empty($users)) {
foreach ($users as $value) {
$user_data = get_userdata($value['ID']);
echo '<p>' . $user_data->user_login . '</p>';
echo bp_core_fetch_avatar(array('item_id' => $value['ID']));
}
} else {
echo 'Пользователей не найдено...';
}
}
// вызываем в посте
onwp_get_favorites(get_the_ID());
Не совсем ровно но все же!