2013-04-05 3 views
1

Я пытаюсь скрыть некоторые элементы, находящиеся в массиве, на основе того, вошел ли пользователь в систему или нет. Например, если пользователь не вошел в систему, я не хочу, чтобы они могли просматривать элемент «субъект».Скрыть элементы, если пользователь не вошел в систему Omeka

В моей папке items в файле show.php есть строка кода, которая, как мне кажется, нуждается в редактировании.

<?php echo all_element_texts('item'); ?> 

Есть ли способ использовать что-то вроде

if current user display element else hide? 

Благодарности

+0

гул ... Вы должны предоставить дополнительную информацию, если вам нужна помощь, что делает 'all_element_texts ('item')'? –

ответ

0

Используется этот код из Jeremey Боггс

<?php 

/** 
* Unset elements if there is not current authenticated user. 
*/ 
function filter_elements($elementsBySet) { 

/* An array of elements in sets to be hidden from non-authenticated users. */ 
$hiddenElements = array(
    'Dublin Core' => array(
     'Description', 
     'Creator' 
    ) 
); 

if (!current_user()) { 
    foreach ($hiddenElements as $setName => $elementNames) { 
     foreach ($elementNames as $elementName) { 
      unset($elementsBySet[$setName][$elementName]); 
     } 
    } 
} 

return $elementsBySet; 
} 

add_filter('display_elements', 'filter_elements'); 
Смежные вопросы