Вывод данных — Прячу контент для пользователей по полю с данными
Прячу контент по шоткоду для пользователей с полем в котом есть данные.
Кто зарегистрирован у него должно показываться, если у него есть в поле $user_info->subscription
хоть одно значение, если оно пустое не выводиться также как у незарегистрированных. wp_get_current_user() && !is_null
.
Не могу добавить функцию чтобы правильно отображалось
add_shortcode( 'subscription', 'true_logged_in_user_content' ); function true_logged_in_user_content( $atts, $content = null ) { // get_currentuserinfo(); wp_get_current_user(); if ( wp_get_current_user() && !is_null( $content ) && !is_user_logged_in() ) { // else ($user_info->subscription == null) { // } return $content; } return 'сообщение'; }
Прячу текст
<?php echo do_shortcode('[subscription]Текст[/subscription]');?>
add_shortcode( 'subscription', 'true_logged_in_user_content' ); function true_logged_in_user_content( $atts, $content = null ) { global $user_ID, $user_identity; wp_get_current_user(); if ( is_user_logged_in()) { $user_info = get_userdata( $user_ID );//get user info if (($timestamp_subscription = strtotime($user_info->subscription)) === false) //get time description $timestamp_subscription = 0; if(time() <= $timestamp_subscription)// have descr return ''; } if(!is_null( $content )) return $content; else return 'Пустой контент'; }
возникает вопрос как теперь
<?php dynamic_sidebar( 'sidebar-17' ); ?>
засунуть в
<?php echo do_shortcode('[subscription] Реклама [/subscription]'); ?>
Вместе слово реклама
pfilan шорткод оболочка и сайдбар оболочка. Вставьте код сразу в шорткод, чем в сайдбар, а потом в шорткод. Или так нельзя?
вот так получилось
<?php if (true_logged_in_user_content( $atts, $content = null ) ) : ?> <?php dynamic_sidebar( 'sidebar-7' ); ?> <?php endif; ?>
Используйте update_user_option