Друзья имеется на сайте определенное количество постов, которые имеют статус 'private'. И по логике они не должны быть доступны на всеобщее обозрение кроме автора поста и админстрации сайта. Но на самом сайте необходимо реализовать вывод суммы которая расчитывается исходя из мета полей данный приватных постов. Я написал шорт код который отображает сумму но только в случае если пользователь имеет привелегии администратора. Но мне нужно отобразить сумму для всех без исключения пользователей сайта. Вот мой код:
function RefBackSumma(){
// https://wordpress.stackexchange.com/questions/34702/short-code-to-display-a-loop
$summ_args = array(
'post_type' => 'refbek_two',
'posts_per_page' => -1,
);
$query = new WP_Query( $summ_args );
$posts = $query->posts;
d($posts);
//
foreach ($posts as $post) {
// $ Авто расчет рефбека
//--------------
$summ = get_post_meta($post->ID, 'avtomaticheskij_rasschet_refbeka_72', true);
// $NoPrivate = get_post_meta($post->ID, 'avtomaticheskij_rasschet_refbeka_72', true);
//--------------
// Выводим
// $ Категория валюты вложений
$cur_terms = get_the_terms( $post->ID, 'RefbekValutaVlogeniy' );
// $ Для выборки статусов только с оплатой
$cur_terms_status = get_post_meta( $post->ID, 'custom_status_ti-checkbox_list_1');
// $ Сумма с учетом конвертации руб.
$Summa;
// Если заявка оплачена (значит имеет статус 'Paid' - Оплачено) начинаем вывод
if (in_array('Paid', $cur_terms_status)){
// $ Для слага категории
$taxonomyslag = '';
// Если имеется категорий
if( is_array( $cur_terms) ){
//-----------------------------------
// Перебираем
// Делаем перебор по таксономии
foreach( $cur_terms as $cur_term ){
// $ Слаг таксономии
$taxonomyslag = $cur_term->slug;
// Если у таксономии имеется слаг 'rub' и она не пуста делим на курс USD - 65 rub
if($taxonomyslag == 'rub' && $taxonomyslag !== ''){
// Новая сумма
$summ = $summ / 65;
// Добавляем значение в конец массива общей суммы
$Summa += $summ;
} else {
$Summa += $summ;
}
}
//-----------------------------------
}
}
//--------------
}
$Summa = round($Summa, 2);
$FullSumma = $Summa.' USD';
return $FullSumma;
}
add_shortcode( 'RefBackSumma', 'RefBackSumma' );
// [RefBackSumma]
Сейчас при просмотре страницы от лица гостя отображается
0 USD. Как заставить шорткод отобразить сумму для всех пользователей сайта?