Вывод данных — Прячу контент для пользователей по полю с данными
Прячу контент по шоткоду для пользователей с полем в котом есть данные.
Кто зарегистрирован у него должно показываться, если у него есть в поле $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